JP5949203B2 - 変更プログラム、変更方法、および変更装置 - Google Patents

変更プログラム、変更方法、および変更装置 Download PDF

Info

Publication number
JP5949203B2
JP5949203B2 JP2012140159A JP2012140159A JP5949203B2 JP 5949203 B2 JP5949203 B2 JP 5949203B2 JP 2012140159 A JP2012140159 A JP 2012140159A JP 2012140159 A JP2012140159 A JP 2012140159A JP 5949203 B2 JP5949203 B2 JP 5949203B2
Authority
JP
Japan
Prior art keywords
movement
line segment
shape
change
movement trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012140159A
Other languages
English (en)
Other versions
JP2014006593A (ja
Inventor
智 鹿庭
智 鹿庭
貴彦 織田
貴彦 織田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012140159A priority Critical patent/JP5949203B2/ja
Priority to US13/771,216 priority patent/US9514251B2/en
Publication of JP2014006593A publication Critical patent/JP2014006593A/ja
Application granted granted Critical
Publication of JP5949203B2 publication Critical patent/JP5949203B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Processing Or Creating Images (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、変更プログラム、変更方法、および変更装置に関する。
従来、押し退け配線によりレイアウト変更をおこなう技術が開示されている。当該技術は、クリアランスエラーが生じた一方の配線の経路を一定幅太くした押し退けクロージャと呼ばれる領域を生成し、クリアランスエラーを生じた他方の配線の経路を押し退けクロージャの外周に沿って押し退ける技術である。
特開平4−293169号公報 特開平3−251971号公報 特開平10−272258号公報 特開平7−334553号公報
しかしながら、上述した従来技術は、クリアランスエラーが生じた場合にしか適用できないという問題がある。また、押し退けクロージャの形状は、クリアランスエラーが生じた経路に依存するため、ユーザが変形したい形状に経路を変形することができないという問題がある。
このため、ユーザが変形したい形状に経路を変形する場合には、経路変更したい配線の1辺を画面上にてマウス等で選択し、選択した辺をマウス等で移動し、その移動に伴い選択した辺の左右の辺の長さを変更することで、配線の経路を変更するといった操作が必要になる。また、たとえば、経路変更する辺に折れ曲がり点を追加し、辺を分割して経路を変更するといった操作が必要になる。
本発明は、レイアウト変更の効率化を図ることができる変更プログラム、変更方法、および変更装置を提供することを目的とする。
本発明の一側面によれば、図形の移動により前記図形の移動軌跡を生成し、線分と生成された前記移動軌跡との重複を検出し、重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分を、前記移動軌跡の外周に沿う形状に変更する変更プログラム、変更方法、および変更装置が提案される。
本発明の一側面によれば、レイアウト変更の効率化を図ることができるという効果を奏する。
図1は、変更装置による配線の変形例を示す説明図である。 図2は、コンピュータのハードウェア構成例を示すブロック図である。 図3は、変更装置200の機能的構成例を示すブロック図である。 図4は、図形の一例を示す説明図である。 図5は、生成部302による移動軌跡の生成例を示す説明図である。 図6は、削除部306によるループ形状の削除例を示す説明図である。 図7は、信号線上に変形が禁止されている禁止図形が存在する場合の信号線の押し退け例を示す説明図である。 図8は、複数の図形による押し退け例を示す説明図である。 図9は、変更装置200による処理手順例を示すフローチャートである。 図10は、図9に示した移動軌跡生成処理(ステップS906)の詳細な処理手順例を示すフローチャートである。 図11は、図9に示した変更処理(ステップS909)の詳細な処理手順例を示すフローチャートである。 図12は、図11に示した押し退け処理(ステップS1104)の詳細な処理手順例を示すフローチャートである。
以下に添付図面を参照して、本発明にかかる変更プログラム、変更方法、および変更装置の実施の形態を詳細に説明する。本実施の形態にかかる変更装置は、たとえば、設計対象回路のレイアウトデータ上で変更処理を実行する。以下、設計対象回路のレイアウトデータを例に挙げて説明するが、対象となるのはレイアウトデータに限られず、各種グラフィックデータやCAD(Computer Aided Design)データに対しても適用可能である。
<配線変形例>
図1は、変更装置による配線の変形例を示す説明図である。本実施の形態の変更装置は、クリアランスエラーが発生した配線の形状ではなく、ユーザが変形したい形状となる図形を選択し、当該選択した図形の移動により押し退けることにより、配線をクリアランスエラーの有無に関係なく変形する。このように、ユーザが意図した形状の図形を移動操作することにより、変更装置は配線の変形処理を効率的に実行する。以下、時系列順に(A)〜(G)について説明する。
(A)は、選択した図形がレイアウトデータ上に配置された状態を示す。(A)では例として8角形の図形が選択されたものとする。変更装置は、ユーザによるマウスの操作により、所望の位置に図形Fを配置する。ここでは、マウスポインタPにより信号線Lの近傍に図形Fが配置された状態が示されている。
(B)は、(A)の状態から図形Fが移動した状態を示す。以降、便宜上、移動前の図形FおよびマウスポインタPには、符号に「1」を付して「F1」および「P1」とし、移動後の図形FおよびマウスポインタPには、符号に「2」を付して「F2」および「P2」とする。変更装置は、ユーザによるマウスの操作により、マウスポインタP1の移動に追従して図形F1を移動させる。ここでは、信号線L上に移動された図形F2とマウスポインタP2が示されている。
(C)は、図形Fの移動軌跡Tを示す。変更装置は、(A),(B)により図形Fを移動させた場合、変更装置は、移動前である(A)の配置位置での図形F1から移動後である(B)の配置位置での図形F2までの移動軌跡Tを生成する。ここでは、移動軌跡Tは信号線Lに重複して生成されている。
(D)は、移動軌跡T内での中心線Cを生成した状態を示す。中心線Cは、移動前の図形F1におけるマウスポインタP1の位置p1と移動後の図形F2におけるマウスポインタP2の位置p2とを通過する線分である。
(E)は、移動軌跡Tにおいて開始点s1を決定した状態を示す。開始点s1とは、移動軌跡Tの外周のトレースを開始する点である。信号線Lは、移動軌跡Tの外周をトレースすることにより得られるパターンに応じて変形される。ここでは、開始点s1は、中心線Cと移動軌跡Tの交点s1,s2のうち、移動前の図形F1におけるマウスポインタP1を基準に図形F2におけるマウスポインタP2とは逆方向にある交点でP1から一番遠い交点である。また、変更装置は、開始点s1から反時計回りで移動軌跡Tの外周をトレースする。移動前の図形F1におけるマウスポインタP1を基準に移動後の図形F2におけるマウスポインタP2とは逆方向にある交点でP1から一番遠い交点を開始点s1とすることにより、移動軌跡Tの外周をトレースすることにより得られる信号線Lの形状は、図形Fの移動により押し退けられたように描画される。
(F)は、トレースの完了状態を示す。トレース中に最初に信号線Lと交差する点を進入ポイントpiと称す。また、信号線Lのうち移動軌跡Tに重複する部分を部分信号線Lpと称す。進入ポイントpiが検出されると、変更装置は、トレースする経路を、移動軌跡Tの外周から部分信号線Lp1に切り替えてトレースする。トレース位置が、移動軌跡Tと信号線Lとの交点に到達した場合、トレースが完了する。進入ポイントpiから部分信号線Lpをトレースして移動軌跡Tとの交点に到達した点を、退出ポイントpoと称す。
(G)は、部分信号線Lpの変形状態を示す。進入ポイントpiと退出ポイントpoとが検出されると、変更装置は、部分信号線Lp1の形状を、進入ポイントpiから退出ポイントpoまでを移動軌跡Tを反時計回りに沿う経路に変更する。変更後の経路である部分信号線LpをLp2とする。これにより、変更装置は、図形Fの形状と図形Fの移動距離とに応じて信号線Lp1を変形することができる。
<コンピュータのハードウェア構成例>
図2は、コンピュータのハードウェア構成例を示すブロック図である。図2において、変更装置200は、プロセッサ201、記憶装置202、入力装置203、出力装置204、および通信装置205が、バス206に接続されて構成されるコンピュータである。
プロセッサ201は、変更装置200の全体の制御を司る。また、プロセッサ201は、記憶装置202に記憶されている各種プログラム(OS(Operating System)や本実施の形態の変更プログラム)を実行することで、記憶装置202内のデータを読み出したり、実行結果となるデータを記憶装置202に書き込んだりする。
記憶装置202は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ201のワークエリアになったり、各種プログラム(OSや本実施の形態の変更プログラム)や各種データ(各プログラムの実行により得られたデータを含む)を記憶したりする。
入力装置203は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力をおこなうインターフェースである。出力装置204は、プロセッサ201の指示により、データを出力するインターフェースである。出力装置204には、ディスプレイやプリンタが挙げられる。通信装置205は、ネットワークを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。
<変更装置200の機能的構成例>
図3は、変更装置200の機能的構成例を示すブロック図である。変更装置200は、選択部301と、生成部302と、検出部303と、判断部304と、変更部305と、削除部306と、を有する。選択部301、生成部302、検出部303、判断部304、変更部305、および削除部306は、具体的には、たとえば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
選択部301は、図形Fを選択する。具体的には、たとえば、選択部301は、1または複数の図形Fの中から入力装置203の操作により受け付けられた図形Fを選択する。図形Fの形状は、多角形でもよく、円(楕円含む)でもよい。また、図形Fの大きさは任意に設定可能とする。また、選択部301は、複数の図形Fを選択することもできる。複数の図形Fとは、形状が異なる2種以上の図形群でもよく、形状が同一である同種の2以上の図形群でもよい。図形Fが複数選択された場合、入力装置203を操作することで、ある図形Fが移動すると、残余の図形Fはその移動に追従して移動することになる。
図4は、図形の一例を示す説明図である。(A)の図形Fは8角形の図形であり、(B)の図形Fは円の図形であり、(C)の図形Fは、多角形の一部の辺が円弧形状の図形である。当該図形も多角形の一種である。これら図形群は、ディスプレイなどの出力装置204の表示画面にレイアウトデータとともに表示され、入力装置203を操作することにより選択される。選択された図形は、表示画面のレイアウトデータ上に配置される。
図3に戻り、生成部302は、図形の移動により図形の移動軌跡を生成する。具体的には、たとえば、生成部302は、選択部301によって選択された図形を、入力装置203を操作することで図形を移動させ、その移動軌跡を図形として生成する。たとえば、生成部302は、図1の(A),(B)に示した操作により、(C)に示したような移動軌跡を生成する。また、生成部302は、図形が複数選択されている場合には、図形ごとに移動軌跡を生成することになる。
図5は、生成部302による移動軌跡の生成例を示す説明図である。図5は、図1の(B)〜(D)を詳細化した図である。以下、時系列順に(A)〜(G)について説明する。(A)は、マウスポインタPの移動に追従して図形Fが移動した状態を示す。このとき、生成部302は、移動前のマウスポインタP1の位置p1と移動後のマウスポインタP2の位置p2とを記憶装置202に保持しておく。(B)は、(A)のあとに中心線Cを生成した状態を示す。(A)で保持した位置p1,p2を通過する中心線Cが生成される。
(C)は、移動前の図形F1において、移動軌跡Tの外周を設定する基準点f11,f12を決定する状態を示す。移動前の図形F1内部において、移動前の図形F1の外周のうち中心線Cから最も遠くに位置する点が基準点f11,f12となる。基準点f11,f12は中心線Cの両側に1個ずつ設定された点である。
(D)は、移動後の図形F2において、移動軌跡Tの外周を設定する基準点f21,f22を決定する状態を示す。移動後の図形F2内部において、移動後の図形F2の外周のうち中心線Cから最も遠くに位置する点が基準点f21,f22となる。基準点f21,f22は中心線Cの両側に1個ずつ設定された点である。
(E)は、(D)のあと、中心線Cの両側に設定された移動前後の図形F1,F2の基準点同士をベクトルでつなげた状態を示す。具体的には、生成部302は、移動前の図形F1の一方の基準点f11から移動後の図形F2の一方の基準点f21へのベクトルV1を生成し、移動後の図形F2の他方の基準点f22から移動前の図形F1の他方の基準点f12へのベクトルV2を生成する。
(F)は、(E)のあと、生成部302は、移動前の図形F1の一方の基準点f11を起点として、ベクトルV1の方向にしたがってトレースする。そして、起点となる基準点f11に戻った場合、生成部302は、トレースを停止する。(G)は、(F)のトレースにより生成された移動軌跡Tを示す。この移動軌跡Tの生成例は一例であり、他の生成方法でもよい。
図3に戻り、検出部303は、線分と生成部302によって生成された移動軌跡Tとの重複を検出する。具体的には、たとえば、検出部303は、図1の(C)に示したように、信号線Lと移動軌跡Tとの重複を検出する。また、図形Fが複数選択されている場合には、各図形Fの移動軌跡Tごとに重複検出が実行される。
判断部304は、検出部303によって重複が検出された線分が変形可能か否かを判断する。たとえば、線分である信号線Lに属性情報が設定されている場合、判断部304は、重複が検出された信号線Lの属性情報を参照することにより、当該信号線Lが変形可能か否かを判断する。たとえば、重複が検出された信号線Lの属性情報として「変形不可」が設定されている場合、判断部304は、移動軌跡Tとの重複が検出されると、変形不可と判断する。属性情報として「変形可能」が設定されている場合、判断部304は、移動軌跡Tとの重複が検出されると、変形可能と判断する。
また、信号線Lの属性情報は、入力装置203からの操作入力により設定することも可能である。たとえば、複数の信号線Lのうちある信号線Lを変形したい場合、変更装置200は、その信号線Lについてのみ属性情報として「変形可能」と設定しておく。また、これとは逆に、変形したくない信号線Lについて属性情報として「変形不可」と設定しておくこととしてもよい。
変更部305は、検出部303によって重複が検出された場合、線分のうち、移動軌跡Tと重複する一部の線分の形状を、移動軌跡の外周に沿う形状に変更する。判断部304が実装されている場合は、変更部305は、検出部303によって重複が検出され、かつ、判断部304によって変形可能であると判断された場合、線分のうち、移動軌跡Tと重複する一部の線分を、移動軌跡Tの外周に沿う形状に変更する。
変更部305は、具体的には、たとえば、一部の線分の形状を、移動軌跡Tと線分との第1交点から移動軌跡における移動後の図形の外周を経由して移動軌跡と線分との第2交点までの経路となる形状に変更する。具体的には、たとえば、変更部305は、図1の(E),(F)に示したように、開始点s1を設定して開始点s1から移動軌跡Tの外周をトレースし、進入ポイントpiから部分信号線Lp1をトレースし退出ポイントpoでトレースを完了する。そして、変更部305は、図1の(G)に示したように、部分信号線Lp1の形状を変更して部分信号線Lp2にする。
また、変更部305は、一部の線分上に変形が禁止されている禁止図形が存在する場合、一部の線分の変形に追従して禁止図形を移動させる。禁止図形とは、変形が禁止されている図形要素であり、レイアウトデータの場合、たとえば、ビアや回路部品に該当する。このような図形要素は変形しないが、信号線Lの変形に追従して移動させられる。
削除部306は、変更部305により変更された結果、変更後の線分の形状からループ形状を削除する。ループ形状となる経路は冗長経路となるため、削除部306は、ループ形状を検出して削除する。これにより、信号線Lの冗長防止と回路面積の効率的な利用を図ることができる。
図6は、削除部306によるループ形状の削除例を示す説明図である。以下、時系列順に(A)〜(D)について説明する。(A)は、信号線L1と、マウスポインタPの移動に追従して図形Fが移動した状態とを示す。(B)は、(A)の移動により移動軌跡Tが生成された状態を示す。(C)は、(B)の移動軌跡Tにより信号線L1が変形して信号線L2になった状態を示す。(C)では、信号線L2において、2個のループ形状LO1,LO2が検出される。(D)は、(C)で検出されたループ形状LO1,LO2を信号線L2から削除して信号線L3になった状態を示す。これにより、信号線の冗長防止と回路面積の効率的な利用を図ることができる。
図7は、信号線上に変形が禁止されている禁止図形が存在する場合の信号線の押し退け例を示す説明図である。以下、時系列順に(A)〜(H)について説明する。(A)は、選択した図形Fがレイアウトデータ上に配置された状態を示す。変更装置200は、ユーザによるマウスの操作により、所望の位置に図形Fを配置する。ここでは、マウスポインタPにより信号線Lの近傍に配置された状態が示されている。信号線L上には、禁止図形の一例としてビアBが配置されている。
(B)は、(A)の状態から図形Fが移動した状態を示す。変更装置200は、ユーザによるマウスの操作により、マウスポインタP1の移動に追従して図形F1を移動させる。ここでは、信号線L上に移動された図形F2とマウスポインタP2が示されている。
(C)は、図形Fの移動軌跡Tを示す。変更装置200は、(A),(B)により図形Fを移動させた場合、変更装置200は、移動前である(A)の配置位置での図形F1から移動後である(B)の配置位置での図形F2までの移動軌跡Tを生成する。ここでは、移動軌跡Tは信号線Lに重複して生成されている。
(D)は、移動軌跡T内での中心線Cを生成した状態を示す。中心線Cは、移動前の図形F1におけるマウスポインタP1の位置p1と移動後の図形F2におけるマウスポインタP2の位置p2とを通過する線分である。
(E)は、移動軌跡Tにおいて開始点s1を決定した状態を示す。信号線Lは、移動軌跡Tの外周をトレースすることにより得られるパターンに応じて変形される。ここでは、開始点s1は、中心線Cと移動軌跡Tの交点s1,s2のうち、移動前の図形F1におけるマウスポインタP1を基準に図形F2におけるマウスポインタP2とは逆方向にある交点でP1から一番遠い交点である。また、変更装置200は、開始点s1から反時計回りで移動軌跡Tの外周をトレースする。移動前の図形F1におけるマウスポインタP1を基準に図形F2におけるマウスポインタP2とは逆方向にある交点でP1から一番遠い交点を開始点s1とすることにより、移動軌跡Tの外周をトレースすることにより得られる信号線Lの形状は、図形Fの移動により押し退けられたように描画される。
(F)は、トレースの完了状態を示す。進入ポイントpiが検出されると、変更装置200は、トレースする経路を、移動軌跡Tの外周から部分信号線Lp1に切り替えてトレースする。トレース位置が、移動軌跡Tと信号線Lとの交点である退出ポイントpoに到達した場合、トレースが完了する。
(G)は、部分信号線Lpの変形状態を示す。進入ポイントpiと退出ポイントpoとが検出されると、変更装置200は、部分信号線Lp1の形状を、進入ポイントpiから退出ポイントpoまでを移動軌跡Tを反時計回りに沿う経路に変更する。変更後の経路である部分信号線LpをLp2とする。これにより、変更装置200は、図形Fの形状と図形Fの移動距離とに応じて信号線Lp1を変形することができる。ビアBは変形が禁止されている図形要素であるため、変形されない。
(H)は、(G)のあと、ビアBを移動させた状態を示す。変更部305は、ビアBを、マウスポインタPの移動方向である中心線Cの方向に平行に移動させ、変形後の部分信号線Lp2の位置に再配置する。図7ではビアBが中心線C上に存在するが、存在しない場合はビアB上に中心線Cの平行線を考え、その平行線と部分信号線Lp2との交点にビアBを再配置すればよい。これにより、ビアや回路部品など変形できない図形要素が移動軌跡と重複している場合も、部分信号線の変形に追従して移動させることができる。
図8は、複数の図形による押し退け例を示す説明図である。以下、時系列順に(A)〜(D)について説明する。(A)は、マウスポインタPにより選択された図形Fa,Fbがレイアウトデータ上に配置された状態を示す。ここでは、2個の図形Fa,Fbが選択され、一方の図形FaがマウスポインタPの位置に配置され、他方の図形Fbが、一方の図形Faから所定方向に所定距離離れた位置に配置される。他方の図形Fbは、一方の図形Faの移動に追従して移動することになる。
(B)は、(A)の状態から図形群が移動した状態を示す。変更装置200は、ユーザによるマウスの操作により、マウスポインタPの移動に追従して一方の図形Faを移動させる。また、一方の図形Faの移動に追従して他方の図形Fbが移動させられる。
(C)は、各図形Fa,Fbの移動軌跡Ta,Tbを示す。(B)により図形群を移動させた場合、変更装置200は、図形Fa,Fbごとに、移動前である(A)の配置位置での図形Fa1,Fb1から移動後である(B)の配置位置での図形Fa2,Fb2までの移動軌跡Ta,Tbを生成する。(D)は、移動軌跡による押し退け後の信号線La,Lbを示す。信号線La,Lbのうち、移動軌跡Ta,Tbと重複する部分が押し退けられる。
<変更装置200による処理手順>
図9は、変更装置200による処理手順例を示すフローチャートである。変更装置200は、選択部301により、図形Fが選択されたか否かを判断する(ステップS901)。図形Fが選択されていない場合(ステップS901:No)、ステップS903に移行する。一方、図形Fが選択された場合(ステップS901:Yes)、変更装置200は、選択された図形FをマウスポインタPの位置に配置する(ステップS902)。
そして、変更装置200は、入力装置203の操作、たとえば、入力装置203であるマウスのクリックにより、変形指示が受け付けられたか否かを判断する(ステップS903)。変形指示が受け付けられるまでは、図形Fは入力装置203の操作により、信号線Lを変形させることなく移動させることができる。変形指示が受け付けられていない場合(ステップS903:No)、ステップS910に移行する。一方、変形指示が受け付けられた場合(ステップS903:Yes)、変更装置200は、入力装置203から変形解除指示が受け付けられたか否かを判断する(ステップS904)。変形解除指示とは、変形指示による変形可能状態を解除する指示である。変形解除指示が受け付けられた場合(ステップS904:Yes)、ステップS910に移行する。
一方、変形解除指示が受け付けられていない場合(ステップS904:No)、変更装置200は、図形Fの移動があったか否かを判断する(ステップS905)。図形Fの移動がない場合(ステップS905:No)、ステップS907に移行する。一方、図形Fの移動があった場合(ステップS905:Yes)、変更装置200は、生成部302により、移動軌跡生成処理を実行する(ステップS906)。移動軌跡生成処理(ステップS906)では、上述したように移動軌跡が生成される。移動軌跡生成処理(ステップS906)の詳細については後述する。
移動軌跡生成処理(ステップS906)のあと、変更装置200は、検出部303により、信号線Lと移動軌跡Tとの重複検出をおこなう(ステップS907)。重複しない場合(ステップS907:No)、ステップS904に戻る。一方、重複する場合(ステップS907:Yes)、変更装置200は、判断部304により変形可能か否かを判断する(ステップS908)。変形不可である場合(ステップS908:No)、ステップS910に移行する。一方、変形可能である場合(ステップS908:Yes)、変更装置200は、変更部305により変更処理を実行する(ステップS909)。変更処理(ステップS909)の詳細については後述する。
このあと、変更装置200は、入力装置203から終了指示があるか否かを判断する(ステップS910)。終了指示がない場合(ステップS910:No)、ステップS901に戻り、図形Fを選択しなおすことができる。一方、入力装置203から終了指示が受け付けられた場合(ステップS910:Yes)、一連の処理を終了する。
図10は、図9に示した移動軌跡生成処理(ステップS906)の詳細な処理手順例を示すフローチャートである。変更装置200は、図5の(B)に示したように、移動前後の図形Fから中心線Cを生成する(ステップS1001)。つぎに、変更装置200は、図5の(C)に示したように、移動前の図形F1において一対の基準点(f11,f12)を生成する(ステップS1002)。そして、変更装置200は、図5の(D)に示したように、移動後の図形F2において一対の基準点(f21,f22)を生成する(ステップS1003)。変更装置200は、図5の(E)に示したように、ベクトルV1,V2を生成し(ステップS1004)、図5の(F)に示したように、ベクトルV1の方向にトレースすることで移動軌跡Tを生成する(ステップS1005)。
図11は、図9に示した変更処理(ステップS909)の詳細な処理手順例を示すフローチャートである。変更装置200は、開始点s1を求め(ステップS1101)、開始点s1からのトレースにより進入ポイントpiを求める(ステップS1102)。進入ポイントpiが検出された場合(ステップS1103:Yes)、変更装置200は、押し退け処理を実行し(ステップS1104)、ステップS1103に戻る。押し退け処理(ステップS1104)の詳細については後述する。
一方、進入ポイントpiが検出されなかった場合(ステップS1103:No)、たとえば、開始点s1に戻った場合、変更装置200は、クリアランスエラーとなった信号線を一定幅太らせた押し退けクロージャを、記憶装置202内の押し退けクロージャテーブルからPOPする(ステップS1105)。POPできた場合(ステップS1106:Yes)、ステップS1101に戻る。POPできなかった場合(ステップS1106:No)、変更処理を終了する。
図12は、図11に示した押し退け処理(ステップS1104)の詳細な処理手順例を示すフローチャートである。変更装置200は、進入ポイントpiから部分信号線Lp1を経由するトレースにおいて退出ポイントpoを求める(ステップS1201)。退出ポイントpoに到達すると、変更装置200は、押し退けパターンを作成する(ステップS1202)。押し退けパターンとは、進入ポイントpiから、移動軌跡Tを反時計回りに退出ポイントpoに至る経路である。
また、変更装置200は、移動軌跡T内に回路部品またはビア(以下、部品等)が存在するか否かを判断する(ステップS1203)。部品等が存在しない場合(ステップS1203:No)、ステップS1205に移行する。一方、部品等が存在する場合(ステップS1203:Yes)、変更装置200は、部品等を押し退け方向に移動して押し退けパターン上に配置する(ステップS1204)。
このあと、変更装置200は、変更によりループ形状が存在するか否かを判断する(ステップS1205)。ループ形状が存在しない場合(ステップS1205:No)、ステップS1207に移行する。一方、ループ形状が存在する場合(ステップS1205:Yes)、変更装置200は、ループ形状を削除して(ステップS1206)、ステップS1207に移行する。ステップS1207では、変更装置200は、押し退けパターンである変更後の部分信号線を一定幅太らせた押し退けクロージャを生成する(ステップS1207)。そして、変更装置200は、生成した押し退けクロージャを押し退けクロージャテーブルにPUSHする(ステップS1208)。
このあと、変更装置200は、退出ポイントpoを次の開始点に設定する(ステップS1209)。これにより、押し退け処理(ステップS1104)を終了する。このあと、ステップS1103に戻るため、ステップS1102において、変更装置200は、生成した押し退けクロージャについて進入ポイントを求めることになる。
このように、本実施の形態によれば、図形の移動軌跡により、信号線を押し退けるため、移動軌跡の外周形状に応じて信号線の形状を変形させることができる。したがって、変更後の形状をユーザが意図した形状にすることができる。また、入力装置203の操作により図形を移動させることで、信号線の変形が可能となるため、ユーザは、細かな信号線の選択や分割、屈曲点の設定といった操作が不要となる。したがって、レイアウト変更の効率化を図ることができる。
また、複数の図形を共通の操作で移動させることにより、信号線の変更対象箇所が複数存在する場合に、一度で変更が可能となるため、レイアウト変更の効率化を図ることができる。また、押し退けパターンを移動後の図形の外周を経由して生成することにより、入力装置203の操作により、ユーザは、あたかも図形の移動により信号線を押し退けたかのように変形することができる。
また、変形させたい信号線と変形させたくない信号線が混在する場合、変形させたくない信号線については移動軌跡と重複しても変形はされない。したがって、移動軌跡と変形させたくない信号線との重複を気にすることなく、入力装置203の操作により図形を移動させることができる。
また、移動軌跡内にビアや電子部品など変形が禁止されている図形要素が存在する場合、信号線の変形に追従して変形後の信号線上に配置させることにより、ビアや電子部品など変形が禁止されている図形要素を別途移動させるという入力装置203の操作が不要となる。したがって、レイアウト変更の効率化を図ることができる。また、ループ形状を削除することにより、信号線の冗長防止と回路面積の効率的な利用を図ることができる。
また、上述した実施の形態では、マウスポインタにより図形の移動をおこなったが、入力装置203がタッチパネルである場合、指先などのゼスチャにより図形の移動をおこなうこととしてもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
(付記2)図形群の移動により前記図形群の移動軌跡群を生成し、
線分群の各々の線分と生成された前記移動軌跡群との重複を検出し、
重複が検出された線分のうち、前記移動軌跡群と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させることを特徴とする変更プログラム。
(付記3)前記変更する処理は、
前記一部の線分の形状を、前記移動軌跡と前記線分との第1交点から前記移動軌跡の外周を反時計回りに前記移動軌跡と前記線分との第2交点までの経路となる形状に変更することを特徴とする付記1または2に記載の変更プログラム。
(付記4)重複が検出された線分が変形可能か否かを判断する処理を前記コンピュータに実行させ、
前記変更する処理は、
変形可能であると判断された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更することを特徴とする付記1〜3のいずれか一つに記載の変更プログラム。
(付記5)前記変更する処理は、
前記一部の線分上に変形が禁止されている禁止図形が存在する場合、前記一部の線分の変形に追従して前記禁止図形を移動させることを特徴とする付記1〜4のいずれか一つに記載の変更プログラム。
(付記6)前記変更する処理により変更された結果、変更後の線分の形状からループ形状を削除する処理を前記コンピュータに実行させることを特徴とする付記1〜5のいずれか一つに記載の変更プログラム。
(付記7)前記線分は、設計対象回路のレイアウトデータ上の信号線であることを特徴とする付記1〜6のいずれか一つに記載の変更プログラム。
(付記8)前記線分は、設計対象回路のレイアウトデータ上の信号線であり、前記禁止図形は、前記レイアウトデータ上の回路部品またはビアであることを特徴とする付記5に記載の変更プログラム。
(付記9)図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理をコンピュータに実行させる変更プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記10)コンピュータが、
図形の移動により前記図形の移動軌跡を生成し、
線分と生成された前記移動軌跡との重複を検出し、
重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
処理を実行することを特徴とする変更方法。
(付記11)図形の移動により前記図形の移動軌跡を生成する生成部と、
線分と前記生成部によって生成された移動軌跡との重複を検出する検出部と、
前記検出部によって重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する変更部と、
を有することを特徴とする変更装置。
200 変更装置
301 選択部
302 生成部
303 検出部
304 判断部
305 変更部

Claims (10)

  1. 図形の移動により前記図形の移動軌跡を生成し、
    線分と生成された前記移動軌跡との重複を検出し、
    重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
    処理をコンピュータに実行させることを特徴とする変更プログラム。
  2. 図形群の移動により前記図形群の移動軌跡群を生成し、
    線分群の各々の線分と生成された前記移動軌跡群との重複を検出し、
    重複が検出された線分のうち、前記移動軌跡群と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
    処理をコンピュータに実行させることを特徴とする変更プログラム。
  3. 前記変更する処理は、
    前記一部の線分の形状を、前記移動軌跡と前記線分との第1交点から前記移動軌跡の外周を反時計回りに前記移動軌跡と前記線分との第2交点までの経路となる形状に変更することを特徴とする請求項1または2に記載の変更プログラム。
  4. 重複が検出された線分が変形可能か否かを判断する処理を前記コンピュータに実行させ、
    前記変更する処理は、
    変形可能であると判断された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更することを特徴とする請求項1〜3のいずれか一つに記載の変更プログラム。
  5. 前記変更する処理は、
    前記一部の線分上に変形が禁止されている禁止図形が存在する場合、前記一部の線分の変形に追従して前記禁止図形を移動させることを特徴とする請求項1〜4のいずれか一つに記載の変更プログラム。
  6. 前記変更する処理による変更後の線分の形状からループ形状を削除する処理を前記コンピュータに実行させることを特徴とする請求項1〜5のいずれか一つに記載の変更プログラム。
  7. 前記線分は、設計対象回路のレイアウトデータ上の信号線であることを特徴とする請求項1〜6のいずれか一つに記載の変更プログラム。
  8. 前記線分は、設計対象回路のレイアウトデータ上の信号線であり、前記禁止図形は、前記レイアウトデータ上の回路部品またはビアであることを特徴とする請求項5に記載の変更プログラム。
  9. コンピュータが、
    図形の移動により前記図形の移動軌跡を生成し、
    線分と生成された前記移動軌跡との重複を検出し、
    重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する、
    処理を実行することを特徴とする変更方法。
  10. 図形の移動により前記図形の移動軌跡を生成する生成部と、
    線分と前記生成部によって生成された移動軌跡との重複を検出する検出部と、
    前記検出部によって重複が検出された場合、前記線分のうち、前記移動軌跡と重複する一部の線分の形状を、前記移動軌跡の外周に沿う形状に変更する変更部と、
    を有することを特徴とする変更装置。

JP2012140159A 2012-06-21 2012-06-21 変更プログラム、変更方法、および変更装置 Active JP5949203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012140159A JP5949203B2 (ja) 2012-06-21 2012-06-21 変更プログラム、変更方法、および変更装置
US13/771,216 US9514251B2 (en) 2012-06-21 2013-02-20 Push—shove layout route changing method using movement track of figure, computer-readable recording medium recording push—shove layout route changing program using movement track of figure and push—shove layout route changing system using movement track of figure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012140159A JP5949203B2 (ja) 2012-06-21 2012-06-21 変更プログラム、変更方法、および変更装置

Publications (2)

Publication Number Publication Date
JP2014006593A JP2014006593A (ja) 2014-01-16
JP5949203B2 true JP5949203B2 (ja) 2016-07-06

Family

ID=49775135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012140159A Active JP5949203B2 (ja) 2012-06-21 2012-06-21 変更プログラム、変更方法、および変更装置

Country Status (2)

Country Link
US (1) US9514251B2 (ja)
JP (1) JP5949203B2 (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077456B2 (ja) 1988-11-11 1995-01-30 大日本スクリーン製造株式会社 重合度による図形の認識装置
JP2938502B2 (ja) 1990-03-01 1999-08-23 株式会社東芝 画像表示装置
JP2811501B2 (ja) * 1990-08-30 1998-10-15 インターナショナル・ビジネス・マシーンズ・コーポレーション カーソル移動制御方法及び装置
JPH04293169A (ja) 1991-03-20 1992-10-16 Yokogawa Electric Corp 配線パタ―ンの押し退け方法
JP2859787B2 (ja) * 1992-09-25 1999-02-24 富士通株式会社 レイアウトエディタにおける結線方法
JP3204842B2 (ja) 1994-06-07 2001-09-04 富士通株式会社 Cadシステムにおける編集装置および編集方法
JP3593155B2 (ja) * 1994-10-20 2004-11-24 株式会社日立製作所 形状設計支援装置
JPH10272258A (ja) 1997-01-30 1998-10-13 Sega Enterp Ltd 画像処理装置
US6462744B1 (en) * 1998-02-13 2002-10-08 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus that performs image decoding so that frame areas that occupy a large area in a storage apparatus can be used for other purposes, and a recording medium recording an image decoding program
JP4349742B2 (ja) * 2000-12-27 2009-10-21 富士通マイクロエレクトロニクス株式会社 回路設計装置、および回路設計方法
JP4035354B2 (ja) * 2001-07-11 2008-01-23 富士通株式会社 電子回路設計方法及び装置、コンピュータプログラム及び記憶媒体
JP4078639B2 (ja) * 2002-08-30 2008-04-23 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラム及び画像処理プログラム格納媒体
WO2007066450A1 (ja) * 2005-12-08 2007-06-14 Nec Corporation 楽曲における区画を抽出する区画自動抽出システム、区画自動抽出方法および区画自動抽出プログラム
WO2008047555A1 (fr) * 2006-09-27 2008-04-24 Fujitsu Ten Limited Dispositif de simulation, modèle de simulation et dispositif de formation de modèle de simulation

Also Published As

Publication number Publication date
US9514251B2 (en) 2016-12-06
JP2014006593A (ja) 2014-01-16
US20130346030A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
US6888542B1 (en) Error recovery in a computer aided design environment
US20110283228A1 (en) Information processing apparatus and method, and program
JP5318924B2 (ja) 画像表示装置、画像表示方法、画像表示プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体
JP5097231B2 (ja) 経路生成装置、及び経路生成プログラム
KR102205283B1 (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
CN106605199B (zh) 对象管理装置、对象管理方法以及计算机可读存储介质
JP5835240B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5995206B2 (ja) 情報処理装置
JP2015036930A (ja) 表示装置、表示方法、及び、プログラム
JP5949203B2 (ja) 変更プログラム、変更方法、および変更装置
KR101390467B1 (ko) 그래픽 객체 이동 방법 및 장치
JP6327969B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6032654B2 (ja) 情報処理装置
JP5136371B2 (ja) 設計支援方法
JP5520343B2 (ja) 情報処理装置、及びその制御方法、プログラム、及び記録媒体
US20070232120A1 (en) Design support system, design support method, and program
JP2014186699A (ja) 入力装置、入力装置の制御方法、制御プログラムおよび記録媒体
JP2020042524A (ja) 電源ノイズ経路表示プログラム、電源ノイズ経路表示方法及び情報処理装置
JP2012177958A (ja) グラフィックシステム
JP2015088057A (ja) 表示プログラム、補助情報自動配置装置、及び方法
US20130106909A1 (en) Drawing apparatus
JP5264305B2 (ja) 回路編集支援方法、そのプログラム、その記録媒体、および回路編集支援装置
JP2003303355A (ja) 3次元形状処理装置、3次元形状処理方法、プログラム及び記憶媒体
JP2006018589A (ja) 演算モジュール、cad装置および注記記入方法
KR20160008301A (ko) 터치 접촉 면적에 따른 터치 이벤트의 실행 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5949203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150