(57)【要約】【課題】レイアウト変更の効率化を図ること。【解決手段】（Ａ）は、選択した図形がレイアウトデータ上に配置された状態を示す。（Ｂ）は、（Ａ）の状態から図形Ｆが移動した状態を示す。（Ｃ）は、図形Ｆの移動軌跡Ｔを示す。（Ｄ）は、移動軌跡Ｔ内での中心線Ｃを生成した状態を示す。（Ｅ）は、移動軌跡Ｔにおいて開始点ｓ１を決定した状態を示す。変更装置は、開始点ｓ１から反時計回りで移動軌跡Ｔの外周をトレースする。（Ｆ）は、トレースの完了状態を示す。トレース位置が、移動軌跡Ｔと信号線Ｌとの交点に到達した場合、トレースが完了する。（Ｇ）は、部分信号線Ｌｐの変形状態を示す。これにより、変更装置は、図形Ｆの形状と図形Ｆの移動距離とに応じて信号線Ｌｐ１を変形することができる。【選択図】図１
2014006593.tif 000002
【特許請求の範囲】
【請求項１】
図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
【請求項２】
図形群の移動により前記図形群の移動軌跡群を生成し、
線分群の各々の線分と生成された前記移動軌跡群との重複を検出し、
重複が検出された線分のうち、前記移動軌跡群と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
【請求項３】
前記変更する処理は、
前記一部の線分の形状を、前記移動軌跡と前記線分との第１交点から前記移動軌跡の外周を反時計回りに前記移動軌跡と前記線分との第２交点までの経路となる形状に変更することを特徴とする請求項１または２に記載の変更プログラム。
【請求項４】
重複が検出された線分が変形可能か否かを判断する処理を前記コンピュータに実行させ、
前記変更する処理は、
変形可能であると判断された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更することを特徴とする請求項１〜３のいずれか一つに記載の変更プログラム。
【請求項５】
前記変更する処理は、
前記一部の線分上に変形が禁止されている禁止図形が存在する場合、前記一部の線分の変形に追従して前記禁止図形を移動させることを特徴とする請求項１〜４のいずれか一つに記載の変更プログラム。
【請求項６】
前記変更する処理により変更された結果、変更後の線分の形状からループ形状を削除する処理を前記コンピュータに実行させることを特徴とする請求項１〜５のいずれか一つに記載の変更プログラム。
【請求項７】
前記線分は、設計対象回路のレイアウトデータ上の信号線であることを特徴とする請求項１〜６のいずれか一つに記載の変更プログラム。
【請求項８】
前記線分は、設計対象回路のレイアウトデータ上の信号線であり、前記禁止図形は、前記レイアウトデータ上の回路部品またはビアであることを特徴とする請求項５に記載の変更プログラム。
【請求項９】
コンピュータが、
図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理を実行することを特徴とする変更方法。
【請求項１０】
図形の移動により前記図形の移動軌跡を生成する生成部と、
線分と前記生成部によって生成された移動軌跡との重複を検出する検出部と、
前記検出部によって重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する変更部と、
を有することを特徴とする変更装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変更プログラム、変更方法、および変更装置に関する。
【背景技術】
【０００２】
従来、押し退け配線によりレイアウト変更をおこなう技術が開示されている。当該技術は、クリアランスエラーが生じた一方の配線の経路を一定幅太くした押し退けクロージャと呼ばれる領域を生成し、クリアランスエラーを生じた他方の配線の経路を押し退けクロージャの外周に沿って押し退ける技術である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−２９３１６９号公報
【特許文献２】特開平３−２５１９７１号公報
【特許文献３】特開平１０−２７２２５８号公報
【特許文献４】特開平７−３３４５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術は、クリアランスエラーが生じた場合にしか適用できないという問題がある。また、押し退けクロージャの形状は、クリアランスエラーが生じた経路に依存するため、ユーザが変形したい形状に経路を変形することができないという問題がある。
【０００５】
このため、ユーザが変形したい形状に経路を変形する場合には、経路変更したい配線の１辺を画面上にてマウス等で選択し、選択した辺をマウス等で移動し、その移動に伴い選択した辺の左右の辺の長さを変更することで、配線の経路を変更するといった操作が必要になる。また、たとえば、経路変更する辺に折れ曲がり点を追加し、辺を分割して経路を変更するといった操作が必要になる。
【０００６】
本発明は、レイアウト変更の効率化を図ることができる変更プログラム、変更方法、および変更装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、図形の移動により前記図形の移動軌跡を生成し、線分と生成された前記移動軌跡との重複を検出し、重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分を、前記移動軌跡の外周に沿う形状に変更する変更プログラム、変更方法、および変更装置が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、レイアウト変更の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、変更装置による配線の変形例を示す説明図である。
【図２】図２は、コンピュータのハードウェア構成例を示すブロック図である。
【図３】図３は、変更装置２００の機能的構成例を示すブロック図である。
【図４】図４は、図形の一例を示す説明図である。
【図５】図５は、生成部３０２による移動軌跡の生成例を示す説明図である。
【図６】図６は、削除部３０６によるループ形状の削除例を示す説明図である。
【図７】図７は、信号線上に変形が禁止されている禁止図形が存在する場合の信号線の押し退け例を示す説明図である。
【図８】図８は、複数の図形による押し退け例を示す説明図である。
【図９】図９は、変更装置２００による処理手順例を示すフローチャートである。
【図１０】図１０は、図９に示した移動軌跡生成処理（ステップＳ９０６）の詳細な処理手順例を示すフローチャートである。
【図１１】図１１は、図９に示した変更処理（ステップＳ９０９）の詳細な処理手順例を示すフローチャートである。
【図１２】図１２は、図１１に示した押し退け処理（ステップＳ１１０４）の詳細な処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる変更プログラム、変更方法、および変更装置の実施の形態を詳細に説明する。本実施の形態にかかる変更装置は、たとえば、設計対象回路のレイアウトデータ上で変更処理を実行する。以下、設計対象回路のレイアウトデータを例に挙げて説明するが、対象となるのはレイアウトデータに限られず、各種グラフィックデータやＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データに対しても適用可能である。
【００１１】
＜配線変形例＞
図１は、変更装置による配線の変形例を示す説明図である。本実施の形態の変更装置は、クリアランスエラーが発生した配線の形状ではなく、ユーザが変形したい形状となる図形を選択し、当該選択した図形の移動により押し退けることにより、配線をクリアランスエラーの有無に関係なく変形する。このように、ユーザが意図した形状の図形を移動操作することにより、変更装置は配線の変形処理を効率的に実行する。以下、時系列順に（Ａ）〜（Ｇ）について説明する。
【００１２】
（Ａ）は、選択した図形がレイアウトデータ上に配置された状態を示す。（Ａ）では例として８角形の図形が選択されたものとする。変更装置は、ユーザによるマウスの操作により、所望の位置に図形Ｆを配置する。ここでは、マウスポインタＰにより信号線Ｌの近傍に図形Ｆが配置された状態が示されている。
【００１３】
（Ｂ）は、（Ａ）の状態から図形Ｆが移動した状態を示す。以降、便宜上、移動前の図形ＦおよびマウスポインタＰには、符号に「１」を付して「Ｆ１」および「Ｐ１」とし、移動後の図形ＦおよびマウスポインタＰには、符号に「２」を付して「Ｆ２」および「Ｐ２」とする。変更装置は、ユーザによるマウスの操作により、マウスポインタＰ１の移動に追従して図形Ｆ１を移動させる。ここでは、信号線Ｌ上に移動された図形Ｆ２とマウスポインタＰ２が示されている。
【００１４】
（Ｃ）は、図形Ｆの移動軌跡Ｔを示す。変更装置は、（Ａ），（Ｂ）により図形Ｆを移動させた場合、変更装置は、移動前である（Ａ）の配置位置での図形Ｆ１から移動後である（Ｂ）の配置位置での図形Ｆ２までの移動軌跡Ｔを生成する。ここでは、移動軌跡Ｔは信号線Ｌに重複して生成されている。
【００１５】
（Ｄ）は、移動軌跡Ｔ内での中心線Ｃを生成した状態を示す。中心線Ｃは、移動前の図形Ｆ１におけるマウスポインタＰ１の位置ｐ１と移動後の図形Ｆ２におけるマウスポインタＰ２の位置ｐ２とを通過する線分である。
【００１６】
（Ｅ）は、移動軌跡Ｔにおいて開始点ｓ１を決定した状態を示す。開始点ｓ１とは、移動軌跡Ｔの外周のトレースを開始する点である。信号線Ｌは、移動軌跡Ｔの外周をトレースすることにより得られるパターンに応じて変形される。ここでは、開始点ｓ１は、中心線Ｃと移動軌跡Ｔの交点ｓ１，ｓ２のうち、移動前の図形Ｆ１におけるマウスポインタＰ１を基準に図形Ｆ２におけるマウスポインタＰ２とは逆方向にある交点でＰ１から一番遠い交点である。また、変更装置は、開始点ｓ１から反時計回りで移動軌跡Ｔの外周をトレースする。移動前の図形Ｆ１におけるマウスポインタＰ１を基準に移動後の図形Ｆ２におけるマウスポインタＰ２とは逆方向にある交点でＰ１から一番遠い交点を開始点ｓ１とすることにより、移動軌跡Ｔの外周をトレースすることにより得られる信号線Ｌの形状は、図形Ｆの移動により押し退けられたように描画される。
【００１７】
（Ｆ）は、トレースの完了状態を示す。トレース中に最初に信号線Ｌと交差する点を進入ポイントｐｉと称す。また、信号線Ｌのうち移動軌跡Ｔに重複する部分を部分信号線Ｌｐと称す。進入ポイントｐｉが検出されると、変更装置は、トレースする経路を、移動軌跡Ｔの外周から部分信号線Ｌｐ１に切り替えてトレースする。トレース位置が、移動軌跡Ｔと信号線Ｌとの交点に到達した場合、トレースが完了する。進入ポイントｐｉから部分信号線Ｌｐをトレースして移動軌跡Ｔとの交点に到達した点を、退出ポイントｐｏと称す。
【００１８】
（Ｇ）は、部分信号線Ｌｐの変形状態を示す。進入ポイントｐｉと退出ポイントｐｏとが検出されると、変更装置は、部分信号線Ｌｐ１の形状を、進入ポイントｐｉから退出ポイントｐｏまでを移動軌跡Ｔを反時計回りに沿う経路に変更する。変更後の経路である部分信号線ＬｐをＬｐ２とする。これにより、変更装置は、図形Ｆの形状と図形Ｆの移動距離とに応じて信号線Ｌｐ１を変形することができる。
【００１９】
＜コンピュータのハードウェア構成例＞
図２は、コンピュータのハードウェア構成例を示すブロック図である。図２において、変更装置２００は、プロセッサ２０１、記憶装置２０２、入力装置２０３、出力装置２０４、および通信装置２０５が、バス２０６に接続されて構成されるコンピュータである。
【００２０】
プロセッサ２０１は、変更装置２００の全体の制御を司る。また、プロセッサ２０１は、記憶装置２０２に記憶されている各種プログラム（ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や本実施の形態の変更プログラム）を実行することで、記憶装置２０２内のデータを読み出したり、実行結果となるデータを記憶装置２０２に書き込んだりする。
【００２１】
記憶装置２０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ２０１のワークエリアになったり、各種プログラム（ＯＳや本実施の形態の変更プログラム）や各種データ（各プログラムの実行により得られたデータを含む）を記憶したりする。
【００２２】
入力装置２０３は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力をおこなうインターフェースである。出力装置２０４は、プロセッサ２０１の指示により、データを出力するインターフェースである。出力装置２０４には、ディスプレイやプリンタが挙げられる。通信装置２０５は、ネットワークを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。
【００２３】
＜変更装置２００の機能的構成例＞
図３は、変更装置２００の機能的構成例を示すブロック図である。変更装置２００は、選択部３０１と、生成部３０２と、検出部３０３と、判断部３０４と、変更部３０５と、削除部３０６と、を有する。選択部３０１、生成部３０２、検出部３０３、判断部３０４、変更部３０５、および削除部３０６は、具体的には、たとえば、図２に示した記憶装置２０２に記憶されたプログラムをプロセッサ２０１に実行させることにより、その機能を実現する。
【００２４】
選択部３０１は、図形Ｆを選択する。具体的には、たとえば、選択部３０１は、１または複数の図形Ｆの中から入力装置２０３の操作により受け付けられた図形Ｆを選択する。図形Ｆの形状は、多角形でもよく、円（楕円含む）でもよい。また、図形Ｆの大きさは任意に設定可能とする。また、選択部３０１は、複数の図形Ｆを選択することもできる。複数の図形Ｆとは、形状が異なる２種以上の図形群でもよく、形状が同一である同種の２以上の図形群でもよい。図形Ｆが複数選択された場合、入力装置２０３を操作することで、ある図形Ｆが移動すると、残余の図形Ｆはその移動に追従して移動することになる。
【００２５】
図４は、図形の一例を示す説明図である。（Ａ）の図形Ｆは８角形の図形であり、（Ｂ）の図形Ｆは円の図形であり、（Ｃ）の図形Ｆは、多角形の一部の辺が円弧形状の図形である。当該図形も多角形の一種である。これら図形群は、ディスプレイなどの出力装置２０４の表示画面にレイアウトデータとともに表示され、入力装置２０３を操作することにより選択される。選択された図形は、表示画面のレイアウトデータ上に配置される。
【００２６】
図３に戻り、生成部３０２は、図形の移動により図形の移動軌跡を生成する。具体的には、たとえば、生成部３０２は、選択部３０１によって選択された図形を、入力装置２０３を操作することで図形を移動させ、その移動軌跡を図形として生成する。たとえば、生成部３０２は、図１の（Ａ），（Ｂ）に示した操作により、（Ｃ）に示したような移動軌跡を生成する。また、生成部３０２は、図形が複数選択されている場合には、図形ごとに移動軌跡を生成することになる。
【００２７】
図５は、生成部３０２による移動軌跡の生成例を示す説明図である。図５は、図１の（Ｂ）〜（Ｄ）を詳細化した図である。以下、時系列順に（Ａ）〜（Ｇ）について説明する。（Ａ）は、マウスポインタＰの移動に追従して図形Ｆが移動した状態を示す。このとき、生成部３０２は、移動前のマウスポインタＰ１の位置ｐ１と移動後のマウスポインタＰ２の位置ｐ２とを記憶装置２０２に保持しておく。（Ｂ）は、（Ａ）のあとに中心線Ｃを生成した状態を示す。（Ａ）で保持した位置ｐ１，ｐ２を通過する中心線Ｃが生成される。
【００２８】
（Ｃ）は、移動前の図形Ｆ１において、移動軌跡Ｔの外周を設定する基準点ｆ１１，ｆ１２を決定する状態を示す。移動前の図形Ｆ１内部において、移動前の図形Ｆ１の外周のうち中心線Ｃから最も遠くに位置する点が基準点ｆ１１，ｆ１２となる。基準点ｆ１１，ｆ１２は中心線Ｃの両側に１個ずつ設定された点である。
【００２９】
（Ｄ）は、移動後の図形Ｆ２において、移動軌跡Ｔの外周を設定する基準点ｆ２１，ｆ２２を決定する状態を示す。移動後の図形Ｆ２内部において、移動後の図形Ｆ２の外周のうち中心線Ｃから最も遠くに位置する点が基準点ｆ２１，ｆ２２となる。基準点ｆ２１，ｆ２２は中心線Ｃの両側に１個ずつ設定された点である。
【００３０】
（Ｅ）は、（Ｄ）のあと、中心線Ｃの両側に設定された移動前後の図形Ｆ１，Ｆ２の基準点同士をベクトルでつなげた状態を示す。具体的には、生成部３０２は、移動前の図形Ｆ１の一方の基準点ｆ１１から移動後の図形Ｆ２の一方の基準点ｆ２１へのベクトルＶ１を生成し、移動後の図形Ｆ２の他方の基準点ｆ２２から移動前の図形Ｆ１の他方の基準点ｆ１２へのベクトルＶ２を生成する。
【００３１】
（Ｆ）は、（Ｅ）のあと、生成部３０２は、移動前の図形Ｆ１の一方の基準点ｆ１１を起点として、ベクトルＶ１の方向にしたがってトレースする。そして、起点となる基準点ｆ１１に戻った場合、生成部３０２は、トレースを停止する。（Ｇ）は、（Ｆ）のトレースにより生成された移動軌跡Ｔを示す。この移動軌跡Ｔの生成例は一例であり、他の生成方法でもよい。
【００３２】
図３に戻り、検出部３０３は、線分と生成部３０２によって生成された移動軌跡Ｔとの重複を検出する。具体的には、たとえば、検出部３０３は、図１の（Ｃ）に示したように、信号線Ｌと移動軌跡Ｔとの重複を検出する。また、図形Ｆが複数選択されている場合には、各図形Ｆの移動軌跡Ｔごとに重複検出が実行される。
【００３３】
判断部３０４は、検出部３０３によって重複が検出された線分が変形可能か否かを判断する。たとえば、線分である信号線Ｌに属性情報が設定されている場合、判断部３０４は、重複が検出された信号線Ｌの属性情報を参照することにより、当該信号線Ｌが変形可能か否かを判断する。たとえば、重複が検出された信号線Ｌの属性情報として「変形不可」が設定されている場合、判断部３０４は、移動軌跡Ｔとの重複が検出されると、変形不可と判断する。属性情報として「変形可能」が設定されている場合、判断部３０４は、移動軌跡Ｔとの重複が検出されると、変形可能と判断する。
【００３４】
また、信号線Ｌの属性情報は、入力装置２０３からの操作入力により設定することも可能である。たとえば、複数の信号線Ｌのうちある信号線Ｌを変形したい場合、変更装置２００は、その信号線Ｌについてのみ属性情報として「変形可能」と設定しておく。また、これとは逆に、変形したくない信号線Ｌについて属性情報として「変形不可」と設定しておくこととしてもよい。
【００３５】
変更部３０５は、検出部３０３によって重複が検出された場合、線分のうち、移動軌跡Ｔと重複する一部の線分の形状を、移動軌跡の外周に沿う形状に変更する。判断部３０４が実装されている場合は、変更部３０５は、検出部３０３によって重複が検出され、かつ、判断部３０４によって変形可能であると判断された場合、線分のうち、移動軌跡Ｔと重複する一部の線分を、移動軌跡Ｔの外周に沿う形状に変更する。
【００３６】
変更部３０５は、具体的には、たとえば、一部の線分の形状を、移動軌跡Ｔと線分との第１交点から移動軌跡における移動後の図形の外周を経由して移動軌跡と線分との第２交点までの経路となる形状に変更する。具体的には、たとえば、変更部３０５は、図１の（Ｅ），（Ｆ）に示したように、開始点ｓ１を設定して開始点ｓ１から移動軌跡Ｔの外周をトレースし、進入ポイントｐｉから部分信号線Ｌｐ１をトレースし退出ポイントｐｏでトレースを完了する。そして、変更部３０５は、図１の（Ｇ）に示したように、部分信号線Ｌｐ１の形状を変更して部分信号線Ｌｐ２にする。
【００３７】
また、変更部３０５は、一部の線分上に変形が禁止されている禁止図形が存在する場合、一部の線分の変形に追従して禁止図形を移動させる。禁止図形とは、変形が禁止されている図形要素であり、レイアウトデータの場合、たとえば、ビアや回路部品に該当する。このような図形要素は変形しないが、信号線Ｌの変形に追従して移動させられる。
【００３８】
削除部３０６は、変更部３０５により変更された結果、変更後の線分の形状からループ形状を削除する。ループ形状となる経路は冗長経路となるため、削除部３０６は、ループ形状を検出して削除する。これにより、信号線Ｌの冗長防止と回路面積の効率的な利用を図ることができる。
【００３９】
図６は、削除部３０６によるループ形状の削除例を示す説明図である。以下、時系列順に（Ａ）〜（Ｄ）について説明する。（Ａ）は、信号線Ｌ１と、マウスポインタＰの移動に追従して図形Ｆが移動した状態とを示す。（Ｂ）は、（Ａ）の移動により移動軌跡Ｔが生成された状態を示す。（Ｃ）は、（Ｂ）の移動軌跡Ｔにより信号線Ｌ１が変形して信号線Ｌ２になった状態を示す。（Ｃ）では、信号線Ｌ２において、２個のループ形状ＬＯ１，ＬＯ２が検出される。（Ｄ）は、（Ｃ）で検出されたループ形状ＬＯ１，ＬＯ２を信号線Ｌ２から削除して信号線Ｌ３になった状態を示す。これにより、信号線の冗長防止と回路面積の効率的な利用を図ることができる。
【００４０】
図７は、信号線上に変形が禁止されている禁止図形が存在する場合の信号線の押し退け例を示す説明図である。以下、時系列順に（Ａ）〜（Ｈ）について説明する。（Ａ）は、選択した図形Ｆがレイアウトデータ上に配置された状態を示す。変更装置２００は、ユーザによるマウスの操作により、所望の位置に図形Ｆを配置する。ここでは、マウスポインタＰにより信号線Ｌの近傍に配置された状態が示されている。信号線Ｌ上には、禁止図形の一例としてビアＢが配置されている。
【００４１】
（Ｂ）は、（Ａ）の状態から図形Ｆが移動した状態を示す。変更装置２００は、ユーザによるマウスの操作により、マウスポインタＰ１の移動に追従して図形Ｆ１を移動させる。ここでは、信号線Ｌ上に移動された図形Ｆ２とマウスポインタＰ２が示されている。
【００４２】
（Ｃ）は、図形Ｆの移動軌跡Ｔを示す。変更装置２００は、（Ａ），（Ｂ）により図形Ｆを移動させた場合、変更装置２００は、移動前である（Ａ）の配置位置での図形Ｆ１から移動後である（Ｂ）の配置位置での図形Ｆ２までの移動軌跡Ｔを生成する。ここでは、移動軌跡Ｔは信号線Ｌに重複して生成されている。
【００４３】
（Ｄ）は、移動軌跡Ｔ内での中心線Ｃを生成した状態を示す。中心線Ｃは、移動前の図形Ｆ１におけるマウスポインタＰ１の位置ｐ１と移動後の図形Ｆ２におけるマウスポインタＰ２の位置ｐ２とを通過する線分である。
【００４４】
（Ｅ）は、移動軌跡Ｔにおいて開始点ｓ１を決定した状態を示す。信号線Ｌは、移動軌跡Ｔの外周をトレースすることにより得られるパターンに応じて変形される。ここでは、開始点ｓ１は、中心線Ｃと移動軌跡Ｔの交点ｓ１，ｓ２のうち、移動前の図形Ｆ１におけるマウスポインタＰ１を基準に図形Ｆ２におけるマウスポインタＰ２とは逆方向にある交点でＰ１から一番遠い交点である。また、変更装置２００は、開始点ｓ１から反時計回りで移動軌跡Ｔの外周をトレースする。移動前の図形Ｆ１におけるマウスポインタＰ１を基準に図形Ｆ２におけるマウスポインタＰ２とは逆方向にある交点でＰ１から一番遠い交点を開始点ｓ１とすることにより、移動軌跡Ｔの外周をトレースすることにより得られる信号線Ｌの形状は、図形Ｆの移動により押し退けられたように描画される。
【００４５】
（Ｆ）は、トレースの完了状態を示す。進入ポイントｐｉが検出されると、変更装置２００は、トレースする経路を、移動軌跡Ｔの外周から部分信号線Ｌｐ１に切り替えてトレースする。トレース位置が、移動軌跡Ｔと信号線Ｌとの交点である退出ポイントｐｏに到達した場合、トレースが完了する。
【００４６】
（Ｇ）は、部分信号線Ｌｐの変形状態を示す。進入ポイントｐｉと退出ポイントｐｏとが検出されると、変更装置２００は、部分信号線Ｌｐ１の形状を、進入ポイントｐｉから退出ポイントｐｏまでを移動軌跡Ｔを反時計回りに沿う経路に変更する。変更後の経路である部分信号線ＬｐをＬｐ２とする。これにより、変更装置２００は、図形Ｆの形状と図形Ｆの移動距離とに応じて信号線Ｌｐ１を変形することができる。ビアＢは変形が禁止されている図形要素であるため、変形されない。
【００４７】
（Ｈ）は、（Ｇ）のあと、ビアＢを移動させた状態を示す。変更部３０５は、ビアＢを、マウスポインタＰの移動方向である中心線Ｃの方向に平行に移動させ、変形後の部分信号線Ｌｐ２の位置に再配置する。図７ではビアＢが中心線Ｃ上に存在するが、存在しない場合はビアＢ上に中心線Ｃの平行線を考え、その平行線と部分信号線Ｌｐ２との交点にビアＢを再配置すればよい。これにより、ビアや回路部品など変形できない図形要素が移動軌跡と重複している場合も、部分信号線の変形に追従して移動させることができる。
【００４８】
図８は、複数の図形による押し退け例を示す説明図である。以下、時系列順に（Ａ）〜（Ｄ）について説明する。（Ａ）は、マウスポインタＰにより選択された図形Ｆａ，Ｆｂがレイアウトデータ上に配置された状態を示す。ここでは、２個の図形Ｆａ，Ｆｂが選択され、一方の図形ＦａがマウスポインタＰの位置に配置され、他方の図形Ｆｂが、一方の図形Ｆａから所定方向に所定距離離れた位置に配置される。他方の図形Ｆｂは、一方の図形Ｆａの移動に追従して移動することになる。
【００４９】
（Ｂ）は、（Ａ）の状態から図形群が移動した状態を示す。変更装置２００は、ユーザによるマウスの操作により、マウスポインタＰの移動に追従して一方の図形Ｆａを移動させる。また、一方の図形Ｆａの移動に追従して他方の図形Ｆｂが移動させられる。
【００５０】
（Ｃ）は、各図形Ｆａ，Ｆｂの移動軌跡Ｔａ，Ｔｂを示す。（Ｂ）により図形群を移動させた場合、変更装置２００は、図形Ｆａ，Ｆｂごとに、移動前である（Ａ）の配置位置での図形Ｆａ１，Ｆｂ１から移動後である（Ｂ）の配置位置での図形Ｆａ２，Ｆｂ２までの移動軌跡Ｔａ，Ｔｂを生成する。（Ｄ）は、移動軌跡による押し退け後の信号線Ｌａ，Ｌｂを示す。信号線Ｌａ，Ｌｂのうち、移動軌跡Ｔａ，Ｔｂと重複する部分が押し退けられる。
【００５１】
＜変更装置２００による処理手順＞
図９は、変更装置２００による処理手順例を示すフローチャートである。変更装置２００は、選択部３０１により、図形Ｆが選択されたか否かを判断する（ステップＳ９０１）。図形Ｆが選択されていない場合（ステップＳ９０１：Ｎｏ）、ステップＳ９０３に移行する。一方、図形Ｆが選択された場合（ステップＳ９０１：Ｙｅｓ）、変更装置２００は、選択された図形ＦをマウスポインタＰの位置に配置する（ステップＳ９０２）。
【００５２】
そして、変更装置２００は、入力装置２０３の操作、たとえば、入力装置２０３であるマウスのクリックにより、変形指示が受け付けられたか否かを判断する（ステップＳ９０３）。変形指示が受け付けられるまでは、図形Ｆは入力装置２０３の操作により、信号線Ｌを変形させることなく移動させることができる。変形指示が受け付けられていない場合（ステップＳ９０３：Ｎｏ）、ステップＳ９１０に移行する。一方、変形指示が受け付けられた場合（ステップＳ９０３：Ｙｅｓ）、変更装置２００は、入力装置２０３から変形解除指示が受け付けられたか否かを判断する（ステップＳ９０４）。変形解除指示とは、変形指示による変形可能状態を解除する指示である。変形解除指示が受け付けられた場合（ステップＳ９０４：Ｙｅｓ）、ステップＳ９１０に移行する。
【００５３】
一方、変形解除指示が受け付けられていない場合（ステップＳ９０４：Ｎｏ）、変更装置２００は、図形Ｆの移動があったか否かを判断する（ステップＳ９０５）。図形Ｆの移動がない場合（ステップＳ９０５：Ｎｏ）、ステップＳ９０７に移行する。一方、図形Ｆの移動があった場合（ステップＳ９０５：Ｙｅｓ）、変更装置２００は、生成部３０２により、移動軌跡生成処理を実行する（ステップＳ９０６）。移動軌跡生成処理（ステップＳ９０６）では、上述したように移動軌跡が生成される。移動軌跡生成処理（ステップＳ９０６）の詳細については後述する。
【００５４】
移動軌跡生成処理（ステップＳ９０６）のあと、変更装置２００は、検出部３０３により、信号線Ｌと移動軌跡Ｔとの重複検出をおこなう（ステップＳ９０７）。重複しない場合（ステップＳ９０７：Ｎｏ）、ステップＳ９０４に戻る。一方、重複する場合（ステップＳ９０７：Ｙｅｓ）、変更装置２００は、判断部３０４により変形可能か否かを判断する（ステップＳ９０８）。変形不可である場合（ステップＳ９０８：Ｎｏ）、ステップＳ９１０に移行する。一方、変形可能である場合（ステップＳ９０８：Ｙｅｓ）、変更装置２００は、変更部３０５により変更処理を実行する（ステップＳ９０９）。変更処理（ステップＳ９０９）の詳細については後述する。
【００５５】
このあと、変更装置２００は、入力装置２０３から終了指示があるか否かを判断する（ステップＳ９１０）。終了指示がない場合（ステップＳ９１０：Ｎｏ）、ステップＳ９０１に戻り、図形Ｆを選択しなおすことができる。一方、入力装置２０３から終了指示が受け付けられた場合（ステップＳ９１０：Ｙｅｓ）、一連の処理を終了する。
【００５６】
図１０は、図９に示した移動軌跡生成処理（ステップＳ９０６）の詳細な処理手順例を示すフローチャートである。変更装置２００は、図５の（Ｂ）に示したように、移動前後の図形Ｆから中心線Ｃを生成する（ステップＳ１００１）。つぎに、変更装置２００は、図５の（Ｃ）に示したように、移動前の図形Ｆ１において一対の基準点（ｆ１１，ｆ１２）を生成する（ステップＳ１００２）。そして、変更装置２００は、図５の（Ｄ）に示したように、移動後の図形Ｆ２において一対の基準点（ｆ２１，ｆ２２）を生成する（ステップＳ１００３）。変更装置２００は、図５の（Ｅ）に示したように、ベクトルＶ１，Ｖ２を生成し（ステップＳ１００４）、図５の（Ｆ）に示したように、ベクトルＶ１の方向にトレースすることで移動軌跡Ｔを生成する（ステップＳ１００５）。
【００５７】
図１１は、図９に示した変更処理（ステップＳ９０９）の詳細な処理手順例を示すフローチャートである。変更装置２００は、開始点ｓ１を求め（ステップＳ１１０１）、開始点ｓ１からのトレースにより進入ポイントｐｉを求める（ステップＳ１１０２）。進入ポイントｐｉが検出された場合（ステップＳ１１０３：Ｙｅｓ）、変更装置２００は、押し退け処理を実行し（ステップＳ１１０４）、ステップＳ１１０３に戻る。押し退け処理（ステップＳ１１０４）の詳細については後述する。
【００５８】
一方、進入ポイントｐｉが検出されなかった場合（ステップＳ１１０３：Ｎｏ）、たとえば、開始点ｓ１に戻った場合、変更装置２００は、クリアランスエラーとなった信号線を一定幅太らせた押し退けクロージャを、記憶装置２０２内の押し退けクロージャテーブルからＰＯＰする（ステップＳ１１０５）。ＰＯＰできた場合（ステップＳ１１０６：Ｙｅｓ）、ステップＳ１１０１に戻る。ＰＯＰできなかった場合（ステップＳ１１０６：Ｎｏ）、変更処理を終了する。
【００５９】
図１２は、図１１に示した押し退け処理（ステップＳ１１０４）の詳細な処理手順例を示すフローチャートである。変更装置２００は、進入ポイントｐｉから部分信号線Ｌｐ１を経由するトレースにおいて退出ポイントｐｏを求める（ステップＳ１２０１）。退出ポイントｐｏに到達すると、変更装置２００は、押し退けパターンを作成する（ステップＳ１２０２）。押し退けパターンとは、進入ポイントｐｉから、移動軌跡Ｔを反時計回りに退出ポイントｐｏに至る経路である。
【００６０】
また、変更装置２００は、移動軌跡Ｔ内に回路部品またはビア（以下、部品等）が存在するか否かを判断する（ステップＳ１２０３）。部品等が存在しない場合（ステップＳ１２０３：Ｎｏ）、ステップＳ１２０５に移行する。一方、部品等が存在する場合（ステップＳ１２０３：Ｙｅｓ）、変更装置２００は、部品等を押し退け方向に移動して押し退けパターン上に配置する（ステップＳ１２０４）。
【００６１】
このあと、変更装置２００は、変更によりループ形状が存在するか否かを判断する（ステップＳ１２０５）。ループ形状が存在しない場合（ステップＳ１２０５：Ｎｏ）、ステップＳ１２０７に移行する。一方、ループ形状が存在する場合（ステップＳ１２０５：Ｙｅｓ）、変更装置２００は、ループ形状を削除して（ステップＳ１２０６）、ステップＳ１２０７に移行する。ステップＳ１２０７では、変更装置２００は、押し退けパターンである変更後の部分信号線を一定幅太らせた押し退けクロージャを生成する（ステップＳ１２０７）。そして、変更装置２００は、生成した押し退けクロージャを押し退けクロージャテーブルにＰＵＳＨする（ステップＳ１２０８）。
【００６２】
このあと、変更装置２００は、退出ポイントｐｏを次の開始点に設定する（ステップＳ１２０９）。これにより、押し退け処理（ステップＳ１１０４）を終了する。このあと、ステップＳ１１０３に戻るため、ステップＳ１１０２において、変更装置２００は、生成した押し退けクロージャについて進入ポイントを求めることになる。
【００６３】
このように、本実施の形態によれば、図形の移動軌跡により、信号線を押し退けるため、移動軌跡の外周形状に応じて信号線の形状を変形させることができる。したがって、変更後の形状をユーザが意図した形状にすることができる。また、入力装置２０３の操作により図形を移動させることで、信号線の変形が可能となるため、ユーザは、細かな信号線の選択や分割、屈曲点の設定といった操作が不要となる。したがって、レイアウト変更の効率化を図ることができる。
【００６４】
また、複数の図形を共通の操作で移動させることにより、信号線の変更対象箇所が複数存在する場合に、一度で変更が可能となるため、レイアウト変更の効率化を図ることができる。また、押し退けパターンを移動後の図形の外周を経由して生成することにより、入力装置２０３の操作により、ユーザは、あたかも図形の移動により信号線を押し退けたかのように変形することができる。
【００６５】
また、変形させたい信号線と変形させたくない信号線が混在する場合、変形させたくない信号線については移動軌跡と重複しても変形はされない。したがって、移動軌跡と変形させたくない信号線との重複を気にすることなく、入力装置２０３の操作により図形を移動させることができる。
【００６６】
また、移動軌跡内にビアや電子部品など変形が禁止されている図形要素が存在する場合、信号線の変形に追従して変形後の信号線上に配置させることにより、ビアや電子部品など変形が禁止されている図形要素を別途移動させるという入力装置２０３の操作が不要となる。したがって、レイアウト変更の効率化を図ることができる。また、ループ形状を削除することにより、信号線の冗長防止と回路面積の効率的な利用を図ることができる。
【００６７】
また、上述した実施の形態では、マウスポインタにより図形の移動をおこなったが、入力装置２０３がタッチパネルである場合、指先などのゼスチャにより図形の移動をおこなうこととしてもよい。
【００６８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００６９】
（付記１）図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
【００７０】
（付記２）図形群の移動により前記図形群の移動軌跡群を生成し、
線分群の各々の線分と生成された前記移動軌跡群との重複を検出し、
重複が検出された線分のうち、前記移動軌跡群と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
【００７１】
（付記３）前記変更する処理は、
前記一部の線分の形状を、前記移動軌跡と前記線分との第１交点から前記移動軌跡の外周を反時計回りに前記移動軌跡と前記線分との第２交点までの経路となる形状に変更することを特徴とする付記１または２に記載の変更プログラム。
【００７２】
（付記４）重複が検出された線分が変形可能か否かを判断する処理を前記コンピュータに実行させ、
前記変更する処理は、
変形可能であると判断された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更することを特徴とする付記１〜３のいずれか一つに記載の変更プログラム。
【００７３】
（付記５）前記変更する処理は、
前記一部の線分上に変形が禁止されている禁止図形が存在する場合、前記一部の線分の変形に追従して前記禁止図形を移動させることを特徴とする付記１〜４のいずれか一つに記載の変更プログラム。
【００７４】
（付記６）前記変更する処理により変更された結果、変更後の線分の形状からループ形状を削除する処理を前記コンピュータに実行させることを特徴とする付記１〜５のいずれか一つに記載の変更プログラム。
【００７５】
（付記７）前記線分は、設計対象回路のレイアウトデータ上の信号線であることを特徴とする付記１〜６のいずれか一つに記載の変更プログラム。
【００７６】
（付記８）前記線分は、設計対象回路のレイアウトデータ上の信号線であり、前記禁止図形は、前記レイアウトデータ上の回路部品またはビアであることを特徴とする付記５に記載の変更プログラム。
【００７７】
（付記９）図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させる変更プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【００７８】
（付記１０）コンピュータが、
図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理を実行することを特徴とする変更方法。
【００７９】
（付記１１）図形の移動により前記図形の移動軌跡を生成する生成部と、
線分と前記生成部によって生成された移動軌跡との重複を検出する検出部と、
前記検出部によって重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する変更部と、
を有することを特徴とする変更装置。
【符号の説明】
【００８０】
２００  変更装置
３０１  選択部
３０２  生成部
３０３  検出部
３０４  判断部
３０５  変更部
【図１】
2014006593.tif 000003
【図２】
2014006593.tif 000004
【図３】
2014006593.tif 000005
【図４】
2014006593.tif 000006
【図５】
2014006593.tif 000007
【図６】
2014006593.tif 000008
【図７】
2014006593.tif 000009
【図８】
2014006593.tif 000010
【図９】
2014006593.tif 000011
【図１０】
2014006593.tif 000012
【図１１】
2014006593.tif 000013
【図１２】
2014006593.tif 000014