JP6314619B2 - 設計支援プログラム、設計支援方法及び設計支援装置 - Google Patents

設計支援プログラム、設計支援方法及び設計支援装置 Download PDF

Info

Publication number
JP6314619B2
JP6314619B2 JP2014081359A JP2014081359A JP6314619B2 JP 6314619 B2 JP6314619 B2 JP 6314619B2 JP 2014081359 A JP2014081359 A JP 2014081359A JP 2014081359 A JP2014081359 A JP 2014081359A JP 6314619 B2 JP6314619 B2 JP 6314619B2
Authority
JP
Japan
Prior art keywords
wiring
difficulty level
difficulty
processing unit
design
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
JP2014081359A
Other languages
English (en)
Other versions
JP2015203882A (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 JP2014081359A priority Critical patent/JP6314619B2/ja
Priority to US14/615,465 priority patent/US9471740B2/en
Publication of JP2015203882A publication Critical patent/JP2015203882A/ja
Application granted granted Critical
Publication of JP6314619B2 publication Critical patent/JP6314619B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本開示は、設計支援プログラム、設計支援方法及び設計支援装置に関する。
仮配線領域に対して配線検証を行い、配線検証の結果、未配線ネットがあれば、仮配線領域を拡大して、新たな仮配線領域を設定する設計支援プログラムが知られている(例えば、特許文献1参照)。
集積回路パッケージの少なくとも各ピン、各水平ピン間、各垂直ピン間、及び各対角ピン間を配線のボトルネック箇所とし、各ボトルネック箇所に配線容量を付与する支援方法が知られている(例えば、特許文献2参照)。この方法では、ボトルネック箇所ごとに入り口ノード及び出口ノードの二つのノードを生成し、それぞれのボトルネック箇所について、ボトルネック箇所内の入り口ノードから出口ノードへの有向枝を生成等する。
特開2011-198143号公報 特開2010-211753号公報
しかしながら、上記の特許文献1に記載の構成では、設計者は、基板上の部品配置設計の変更又は配線設計の変更を行った場合に、その変更が、周辺の配線設計予定の配線に対して、どのような影響を与えるかについて、定量的な情報を得ることができないという問題がある。これは、特許文献2に記載の構成についても同様である。
そこで、開示の技術は、配線に係る難易度を出力することができる設計支援プログラム、設計支援方法及び設計支援装置の提供を目的とする。
本開示の一局面によれば、基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、
前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力する、
処理をコンピューターに実行させ
前記部品間の配線は、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含み、
前記指標毎の難易度は、前記バス概略配線に係る前記複数の配線を前記端子間で配線設計を行う場合の、前記複数の配線間でのねじれによる難易度を表す第1難易度を含む、
設計支援プログラムが提供される。
本開示の技術によれば、配線に係る難易度を出力することができる設計支援プログラム、設計支援方法及び設計支援装置が得られる。
ラッツネストとバス概略配線の例を示す図。 より多くのラッツネスト及びバス概略配線を示す図。 設計支援装置のハードウェア構成例を示す図。 設計支援装置の機能構成例を示す図。 配線難易度処理部の機能構成例を示す図。 CADデータ記憶部及びライブラリデータ記憶部におけるデータ構成例を示す図。 配線難易度のデータ構成例を示す図。 配線難易度の各指標を示す表図。 配線難易度のモデル図。 設計支援装置により実行される処理の全体の流れの一例を示すフローチャート。 合計配線難易度レベル幅の例を示す図。 配線距離の難易度レベルの例を示す図。 制約条件の難易度レベルの例を示す図。 配線ねじれの難易度レベルの例を示す図。 ルート維持の難易度レベルの例を示す図。 配線難易度のレベル幅の例を示す図。 図10のステップS1の処理の一例を示すフローチャート。 図17のステップS1−2の処理の一例を示すフローチャート。 図17のステップS1−7の処理の一例を示すフローチャート。 図19のステップS1−7−7の処理の一例を示すフローチャート。 図20のステップT1−1の処理の一例を示すフローチャート。 図10のステップS4の処理の一例を示すフローチャート。 図22のステップS4−6の処理の一例を示すフローチャート。 配線設計を行なった際に配線設計が他の未配線区間に影響を与える例を示す説明図。 配線設計による配線難易度の変化態様の例を示す説明図。 配線設計による配線難易度の変化態様の例を示す説明図。 配線設計による配線難易度の変化態様の例を示す説明図。 配線難易度の説明図。 配線距離難易度処理部の処理の一例を示すフローチャート。 端子間を直線距離で求める場合の説明図。 制約条件難易度処理部の処理の一例を示すフローチャート。 制約条件の難易度の算出方法の一例の説明図。 配線ねじれ難易度導出処理部の処理の一例を示すフローチャート。 配線ねじれの難易度の算出方法の一例の説明図。 配線ねじれの難易度の算出方法の一例の説明図。 配線ねじれの難易度の算出方法の一例の説明図。 ルート維持難易度処理部の処理の一例を示すフローチャート。 図37のステップU1−1の処理の一例を示すフローチャート。 ターゲットポイントTの説明図。 図37のステップU1−3の処理の一例を示すフローチャート。 配線可能面積等の説明図。 図40のステップW1の処理の一例を示すフローチャート。 配線必要面積の説明図。 図40のステップW2の処理の一例を示すフローチャート。 図44のステップW2−1の処理の一例を示すフローチャート。 配線可能面積の導出方法の一例の説明図。 配線可能面積の導出方法の一例の説明図。 図45のステップW2−1−5の処理の一例を示すフローチャート。 図45のステップW2−1−10の処理の一例を示すフローチャート。 図45のステップW2−1−12の処理の一例を示すフローチャート。 図44のステップW2−2の処理の一例を示すフローチャート。 図37のステップU1−5の処理の一例を示すフローチャート。 ルート維持の難易度の算出態様の説明図。 配線難易度レベルの管理例の説明図。 配線難易度の管理例の説明図。 合計配線難易度の表示例を示す図。 個別の配線難易度の表示例を示す図。 個別配線難易度レベル幅の例を示す図。 個別の配線難易度の他の表示例を示す図。 配線難易度の計算領域指定方法の説明図。 配線難易度の計算対象指定方法の説明図。
以下、添付図面を参照しながら各実施例について詳細に説明する。
図1は、ラッツネストとバス概略配線の例を示す図であり、(A)は、ラッツネストの一例を示し、(B)は、バス概略配線の一例を示す。
プリント板のレイアウト設計は主に2つ作業を繰り返すことで行われる。1つ目は部品を配置する。2つ目は配置した部品端子間を配線する。レイアウト設計の一般的な補助機能として、2つある。1つ目はラッツネストと呼ぶ部品端子間の接続(配線設計する必要がある区間)を線分で表示した配線補助線を表示する方法である。2つ目は、バス概略配線(バスルート配線)と呼ぶラッツネストを郡管理する手法で表示する方法である。バス概略配線は、信号情報と配線経路情報を持つ。
図1(A)に示すように、ラッツネスト700は、基板S上の2つの部品P1,P2間を結ぶ線分により形成される。各ラッツネスト700は、接続が予定されている部品P1の端子Pnと部品P2の端子Tmの間に形成される。
図1(B)に示すように、バス概略配線800は、ラッツネスト700を纏めた集合を表す。バス概略配線800は、纏める対象のラッツネスト700を設計者が指定することにより生成(設定)される。バス概略配線800は、図1(B)に示すように、2つの部品P1,P2間のラッツネスト700の集合に対応して、2つの部品P1,P2間に形成される。バス概略配線800は、図1(B)に示すように、両端部に線分802を含んでよい。線分802は、バス概略配線800のそれぞれの端部から、接続が予定されている部品P1及び部品P2の対応する端子Pn及びTmまで形成される。
設計者は主に2つの補助機能を使用し、配線の本数や混雑度および配線経路を確認しながらレイアウト設計を行う。図2は、より多くのラッツネスト及びバス概略配線を示す図である。尚、図2においては、基板Sの外形は図示されていない。実際の設計では、図2に示すように、基板S上に多くの部品P1,P2等が配置されるので、それに応じて多くのラッツネスト700とバス概略配線800が表示されることになる。
図3は、設計支援装置1のハードウェア構成例を示す。設計支援装置1は、それぞれバスで相互に接続されているCPU(Central Processing Unit)101と、メモリ装置104と、表示装置102と、補助記憶装置105と、入力装置103と、ドライブ装置106とを含む。また、設計支援装置1は、記録媒体107と、インタフェース装置108とを含む。以下で説明する各種処理を実現するプログラムは、ネットワーク109を介してダウンロードされてもよいし、CD−ROM等の記録媒体107によって提供されてもよい。プログラムが記録媒体107に記憶された後、補助記憶装置105にインストールさせることによってプログラムを実行することが可能となる。補助記憶装置105はプログラムが実行された際にプログラムが必要とする各種データ等を格納する役割を担う。メモリ装置104は入力装置103からプログラムの起動命令がきた際にプログラムを格納する機能を持つ。CPU101は格納されたプログラムを実行する。インタフェース装置108はネットワークに接続するために装置として利用する。表示装置102は、CRT(Cathode-Ray Tube)ディスプレイや液晶ディスプレイ等の表示装置である。入力装置103はキーボード及びマウス等で構成され、プログラム等に入力を行なう。
図4は、設計支援装置1の機能構成例を示す。
設計支援装置1は、表示部10と、入力部11と、配線難易度処理部14と、ライブラリデータ記憶部13と、CAD(Computer-Aided Design)データ記憶部12と、CAD基本機能処理部15とを含む。表示部10は設計中の図面等や配線難易度を表示する。入力部11では設計者が入力装置103によって入力したプログラムへの指示等を処理する。配線難易度処理部14は配線難易度を求める際に配線難易度の処理を行なう。ライブラリデータ記憶部13はライブラリに格納されているライブラリデータを保持する。CADデータ記憶部12はCADの設計で必要なCADデータを保持する。CAD基本機能処理部15は入力部から入力されたレイアウト設計の指示をCADデータ記憶部12に反映させる処理を行なう。各処理部、各記憶部の詳細な説明については後述する。
図5は、配線難易度処理部14の機能構成例を示す。配線難易度処理部14は、初期難易度導出処理部20と、変動配線難易度導出処理部21とを含む。
初期難易度導出処理部20は、配線距離難易度処理部40と、制約条件難易度処理部41と、配線ねじれ難易度処理部42とを含む。
配線距離難易度処理部40は、配線距離難易度導出処理部50と、配線距離記憶部51とを含む。配線距離記憶部51は、配線距離難易度導出処理部50により算出された配線距離を記憶する。
制約条件難易度処理部41は、制約条件難易度導出処理部60を含む。
配線ねじれ難易度処理部42は、配線ねじれ難易度導出処理部80と、配線ねじれ処理部81と、配線ねじれモデルの入れ替え数記憶部82とを含む。
変動配線難易度導出処理部21は、ルート維持難易度処理部43が含まれている。
ルート維持難易度処理部43は、ルート維持導出処理部70と、配線拡大本数記憶部71と、引き出し処理部72と、配線必要面積導出処理部73と、配線可能面積導出処理部74と、配線必要面積記憶部75とを含む。また、ルート維持難易度処理部43は、配線可能面積記憶部76と、未配線区間記憶部77とを含む。各処理部は、図4に示す補助記憶装置105にインストールされたプログラムがCPU101によって実行されることによって処理が実行される。各処理部は処理で使用する変数やデータなどを一時的に保存するバッファ領域をもつ。各処理部、各記憶部の詳細な説明については後述する。
図6は、CADデータ記憶部12及びライブラリデータ記憶部13におけるデータ構成例を示す。
CADデータ記憶部12は、基板仕様データ201と、基板データ202と、基板部品データ203と、基板部品ピンデータ204と、ネットデータ205と、ビアデータ206と、ラインデータ207と、ラッツネストデータ208とを含む。また、CADデータ記憶部12は、バス概略配線データ209と、禁止領域データ210と、制約条件データ211と、配線難易度設定データ212とを含む。
基板仕様データ201は、基板名、設計ルール(線幅、間隙)等を含む。基板データ202は基板の層数、外形形状、及び、基板の厚さを含む。基板部品データ203は、基板に実装される部品の名称(部品名)、部品ライブラリ名、搭載面、及び、配置座標を含む。部品ライブラリ名は、ライブラリデータ記憶部13内の部品形状データ300に紐付けられる。基板部品ピンデータ204は、部品名、部品ピン名、ネット番号、座標、及び、層番号を含む。部品ピン名は、ライブラリデータ記憶部13の部品ピンデータ301に紐付けられる。ネット番号は、各ピンの属するネット番号である。ネットデータ205は、ネット番号、ネット名を含む。ネット番号は、ネットを特定する番号である。ネットとは、接続される部品間の配線を表す。ネットの単位は任意である。例えば、一のネットは、他のネットとは接続されない関係である。ビアデータ206は、ビアの属するネット番号、座標及び層番号を含む。ラインデータ207は、配線の属するネット番号、配線の座標(例えば始点と終点の座標)、線幅、層番号を含む。ラインデータ207に含まれるデータは、既に設計済みの配線に関するデータである。ラッツネストデータ208はラッツネスト名、ラッツの座標(例えば始点と終点の座標)、層番号、配線難易度を含む。ラッツネストデータ208はレイアウト設計で使用されている本数分がCADデータ記憶部12に格納されている。ラッツネストデータ208における各ラッツネストに係るデータは一意に定まり、ラッツネストごとに独特のデータを保持している。バス概略配線データ209は、バス概略配線番号、バス概略配線名、所属ラッツネスト、座標列、層番号及びネット番号列、配線難易度を含む。禁止領域データ210は座標列(例えば、禁止領域を構成する各座標)、層番号を含む。制約条件データ211は対象の制約条件名、制約条件内容を含む。配線難易度設定データ212は、配線ねじれの難易度レベル設定データ、制約条件の難易度レベル設定データ、配線距離の難易度レベル設定データを保持する。これらの設定データについては後述する。また、配線難易度の詳細な説明については後述する。配線難易度の計算領域指定範囲は、座標1、座標2・・・座標Nで特定されてよい。配線難易度の計算対象リストは、ラッツネスト名及びバス概略配線名で特定されるリストを保持する。
ライブラリデータ記憶部13は、部品形状データ300と、部品ピンデータ301と、ランド形状データ302とを含む。部品形状データ300は、部品形状及び部品高さを含む。部品ピンデータ301は、部品ピン名、信号区分及び座標を含む。ランド形状データ302はランド形状名、ランド形状を含む。
図7は、配線難易度のデータ構成例を示す図である。
レイアウト設計の進捗に連動して、配線難易度は変動する。このため、配線難易度は、初期配線難易度と、変動配線難易度とを含む。初期配線難易度とは、部品の配置設計の際に決まる配線難易度を表し、変動配線難易度とは、初期配線難易度の導出後に変動しうる配線難易度であり、変動後の配線難易度を表わす。配線難易度は、典型的には、下記の3つの場合において変動する。1つ目は配置設計の変更指示、2つ目は配線難易度の設定の変更指示、3つ目はバス概略配線の設定変更である。配線難易度の設定変更は、配線難易度の計算領域の指定と配線難易度の計算対象の指定を行なうことを指す。配線難易度の設定変更については後述する。バス概略配線の設定変更はバス概略配線の設置位置を変更することを指す。上記の3つの場合においては、変動配線難易度を導出する。変動配線難易度は、配線設計の編集中の未配線区間への影響を示す。
配線難易度は、未配線のラッツネスト及び未配線のバス概略配線に対して算出され、それぞれ、ラッツネストデータ208及びバス概略配線データ209内に記憶される。初期配線難易度は、配線ねじれの難易度、制約条件の難易度、及び、配線距離の難易度を含む。但し、配線ねじれの難易度は、バス概略配線に対してのみ算出される。変動配線難易度は、ルート維持の難易度を含む。配線難易度は、その他、配線難易度の導出処理部計算結果、及び、未配線区間拡大本数を含んでよい。これらについても後述する。
初期配線難易度は下記の個別で求められる3つの指標を組み合わせて計算された値である。1つ目は「配線距離」、2つ目は「制約条件」、3つ目は「配線ねじれ」である。各指標は、個別で「難易度」という定量化された値を持つ。各指標の詳細な説明については、後述する。変動配線難易度は「ルート維持」で求める。「ルート維持」も個別に「難易度」と呼ばれる定量化された値を持つ。「ルート維持」の詳細な説明については後述する。上記で述べた「制約条件」と「ルート維持」には配線設計ができるかどうかを判断する「可否」の値を持つ。そして、最終的な配線難易度は、初期配線難易度の3つの指標と、変動配線難易度の1つの指標と組み合わせて計算した結果得られる。
図8は、配線難易度の各指標を示す表図である。配置設計を行った際に配線距離の難易度、制約条件の難易度、配線ねじれの難易度が導出される。制約条件の難易度は、配線可否の判断結果を含む。ルート維持難易度は、配置設計の変更ならびに配線設計の変更があった際に導出される。ルート維持難易度は、配線可否の判断結果を含む。
図9は、配線難易度のモデル図を示す。図9(A)に初期配線難易度を示し、図9(B)に変動配線難易度を示し、図9(C)に配線難易度が不可状態の場合を示し、図9(D)に配線難易度の変化を示す。図9(A)ではモデル図の横軸の左端は「易」と示し、右端は「不可」と示している。横軸が右に移動するにつれて配線難易度が難しくなると設定したモデル図である。左端から5目盛り目に「難」を示す。「難」を示した箇所からさらに横軸を1目盛分右に移動した箇所に黒丸で「不可」を示した。このモデル図を元に配線難易度について説明を行なう。例えば、初期配線難易度を求めた。図9(A)のモデル図の左から2目盛り目の逆三角形で示した位置が初期配線難易度の値となる。次に変動配線難易度を導出する。変動配線難易度は図9(B)にひし形で示す。変動配線難易度の変化する範囲は初期配線難易度を基準としたモデル図の左端から数えた3目盛り目から6目盛り目の「不可」までである。「ルート維持」や「制約条件」が「不可」と判断された場合には図9(C)で表した状態となる。図9(C)では設計者が配線設計できないと認識し、配線設計を変更するなどの対策を講じることができる。編集中の配線設計を変更できない場合には初期配線難易度を変更することによって配線難易度を易しくすることができる。図9(D)では初期配線難易度を変化させることによって、配線難易度を下げた例である。このようにして、設計者はレイアウト設計不可であった場合を回避することができるようになる。また、設計者はレイアウト設計中の配線の難しさを把握できるようになる。
図10は、設計支援装置1により実行される処理の全体の流れの一例を示すフローチャートである。
以下では、一例として、バス概略配線とラッツネストに関する配線難易度を色の相違で表すこととする。具体的には、配線難易度は、青色、黄色、赤色及び黒色の各色で表現される。青色の配線難易度は、他の配置配線設計の影響を受けていない状態を示し、黄色は、他の配置配線設計の影響をやや受けている状態を示す。また、赤色は、他の配置配線設計の影響を大きく受けている状態を示し、黒色は、配線不可であることを表す。ラッツネスト及びバス概略配線の配線難易度が未設定の場合は白色で示す。配線難易度の判断を行なう合計配線難易度レベル幅の例を図11に示す。合計配線難易度の導出方法については後述する。各配線難易度の配線難易度レベルを判別する配線難易度の設定データは、図12〜図16で示すような設定データである。かかる設定データは、入力部11から入力され、CADデータ記憶部12の配線難易度設定データ212に記憶される。
ステップS1では、配線難易度処理部14は、初期配線難易度又は変動配線難易度を算出する。初期配線難易度又は変動配線難易度の算出方法は後述する。
ステップS2では、配線難易度処理部14は、配線難易度導出の設定の変更指示、配置設計の変更指示、及び、バス概略配線の変更指示のいずれかが入力されたか否かを判定する。配線難易度導出の設定の変更とは、例えば配線難易度を表示する際の色の変更や配線難易度を算出する際の段階数、基準値(例えば図12参照)等に関する設定の変更を含んでよい。配置設計の変更は、部品の新規の配置や、既に配置している部品の削除、既に配置している部品の位置の変更等を含んでよい。バス概略配線の変更は、バス概略配線の新規の設定や、既に設定されているバス概略配線の中身の変更を含んでよい。配線難易度導出の設定の変更指示、配置設計の変更指示、及び、バス概略配線の変更指示のいずれかが入力された場合は、それに応じてステップS1に進む。いずれも入力されない場合は、ステップS3に進む。
ステップS3では、配線難易度処理部14は、配線設計の変更指示が入力されたか否かを判定する。配線設計の変更指示は、例えば新規の配線設計や配線設計の削除等を含んでよい。配線設計の変更指示が入力された場合は、ステップS4に進み、それ以外の場合は、ステップS5に進む。
ステップS4では、配線難易度処理部14は、変動配線難易度を算出する。変動配線難易度を算出すると、ステップS5に進む。この処理については後述する。
ステップS5では、表示部10は、配線難易度処理部14により算出された配線難易度を表示する。配線難易度を表示すると、ステップS6に進む。
ステップS6では、配線難易度処理部14は、プログラムの終了指示が入力されたか否かを判定する。プログラムの終了指示が入力された場合は、処理を終了し、それ以外の場合は、ステップS2に戻る。
図17は、図10のステップS1の処理の一例を示すフローチャートである。
ステップS1−1では、配線難易度処理部14は、配線難易度導出の設定があるか否かを判定する。配線難易度導出の設定があるか否かは、CADデータ記憶部12の配線難易度設定データ212の配線難易度の計算領域を読み出すことで判定されてよい。配線難易度導出の設定がある場合は、ステップS1−2に進み、それ以外の場合は、ステップS1−3に進む。
ステップS1−2では、配線難易度処理部14は、配線難易度の導出設定処理を行う。配線難易度の導出設定処理については後述する。
ステップS1−3では、配線難易度処理部14は、配線難易度の計算対象リストの中にデータがなければ、CADデータ記憶部12のすべてのラッツネストデータ208とバス概略配線データ209を読み出し、配線難易度の計算対象リストに追加する。
ステップS1−4では、配線難易度処理部14は、計算リスト内のラッツネストとバス概略配線を順次読み出していく。
ステップS1−5では、配線難易度処理部14は、ステップS1−4で読み出したラッツネストとバス概略配線の初期配線難易度が求まっているか否かを判定する。初期配線難易度が求まっている場合は、ステップS1−6に進み、それ以外の場合は、ステップS1−7に進む。
ステップS1−6では、配線難易度処理部14は、配線難易度の計算対象が配置設計に関連する対象であるか否かを判定する。配置設計に関連する対象である場合は、ステップS1−7に進み、それ以外の場合は、ステップS1−8に進む。
ステップS1−7では、配線難易度処理部14は、配線難易度の導出処理を行なう。
ステップS1−8では、配線難易度処理部14は、配線難易度の計算対象リストに記載されたラッツネストとバス概略配線すべてについてチェックしたか否かを判定する。配線難易度の計算対象リストに記載されたラッツネストとバス概略配線すべてについてチェックした場合は、そのまま終了し、それ以外の場合は、ステップS1−4に戻る。このようにして、ステップS1−5〜ステップS1−7の処理は、配線難易度の計算対象リストに記載されたラッツネストとバス概略配線すべてに適用される。
図18は、図17のステップS1−2の処理(配線難易度の導出設定処理)の一例を示すフローチャートである。
ステップS1−2−1では、配線難易度処理部14は、配線難易度の計算領域が指定されているか否かを判定する。配線難易度の計算領域が指定されている場合は、ステップS1−2−2に進み、それ以外の場合は、ステップS1−2−4に進む。
ステップS1−2−2では、配線難易度処理部14は、CADデータ記憶部12の配線難易度設定データ212の配線難易度の計算領域を参照し、配線難易度の計算領域を取得する。
ステップS1−2−3では、配線難易度処理部14は、計算領域内に含まれているラッツネスト名とバス概略配線名を取得する。
ステップS1−2−4では、配線難易度処理部14は、配線難易度計算領域内に含まれている対象のラッツネストとバス概略配線を配線難易度の設定データリストに記憶する。
図19は、図17のステップS1−7の処理(配線難易度の導出処理)の一例を示すフローチャートである。
ステップS1−7−1では、配線難易度処理部14は、初期配線難易度の初期値を求める設定であるか否かを判定する。初期配線難易度の初期値を求める設定である場合は、ステップS1−7−2に進み、それ以外の場合は、ステップS1−7−6に進む。
ステップS1−7−2では、配線難易度処理部14は、配線難易度処理部14は、配線距離の難易度の計算を行なう。配線距離の難易度を求める方法については後述する。
ステップS1−7−3では、配線難易度処理部14は、制約条件の難易度の計算を行なう。制約条件の難易度を求める方法については後述する。
ステップS1−7−4では、配線難易度処理部14は、制約条件の難易度が"不可"であるか否かを判定する。制約条件の難易度が"不可"である場合は、ステップS1−7−7に進み、それ以外の場合は、ステップS1−7−5に進む。
ステップS1−7−5では、配線難易度処理部14は、配線ねじれの難易度の計算を行なう。配線ねじれの難易度を求める方法については後述する。
ステップS1−7−6では、配線難易度処理部14は、ルート維持難易度の計算を行なう。ルート維持難易度を求める方法については後述する。
ステップS1−7−7では、配線難易度処理部14は、配線難易度の更新処理を行なう。配線難易度の更新処理については後述する。
図20は、図19のステップS1−7−7の処理(配線難易度の更新処理)の一例を示すフローチャートである。
ステップT1−1では、配線難易度処理部14は、個別で求めた各難易度の更新処理を実行する。
ステップT1−2では、配線難易度処理部14は、個別で求めた各難易度を利用し、配線難易度を算出する。
ステップT1−3では、配線難易度処理部14は、上記ステップT1−1において記憶した配線難易度があるか否かを判定する。例えば、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度の導出処理部計算結果を読み出すことで、記憶した配線難易度があるか否かを判定してもよい。記憶した配線難易度がある場合は、ステップT1−4に進み、それ以外の場合は、ステップT1−7に進む。
ステップT1−4では、配線難易度処理部14は、導出した配線難易度と記憶した配線難易度との差分を算出する。
ステップT1−5では、配線難易度処理部14は、配線難易度の変化があるか否かを判定する。配線難易度の変化がある場合は、ステップT1−6に進み、それ以外の場合は、ステップT1−7に進む。
ステップT1−6では、配線難易度処理部14は、配線難易度の変更処理を行う。
ステップT1−7では、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度の導出処理部計算結果を更新する。
図21は、図20のステップT1−6の処理の一例を示すフローチャートである。
ステップT1−6−1では、配線難易度処理部14は、直線距離の難易度に変化があるか否かを判定する。尚、配線難易度処理部14は、今回の算出が初回である場合は、変化があると判定する(以下も同様)。直線距離の難易度に変化がある場合は、ステップT1−6−2に進み、それ以外の場合は、ステップT1−6−3に進む。
ステップT1−6−2では、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度の直線距離の難易度を変化後の値で更新する。
ステップT1−6−3では、配線難易度処理部14は、配線ねじれの難易度に変化があるか否かを判定する。配線ねじれの難易度に変化がある場合は、ステップT1−6−4に進み、それ以外の場合は、ステップT1−6−5に進む。
ステップT1−6−4では、配線難易度処理部14は、配線難易度処理部14は、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度の配線ねじれの難易度を変化後の値で更新する。
ステップT1−6−5では、配線難易度処理部14は、制約条件の難易度に変更があるか否かを判定する。制約条件の難易度に変更がある場合は、ステップT1−6−6に進み、それ以外の場合は、ステップT1−6−7に進む。
ステップT1−6−6では、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度の制約条件の難易度を変化後の値で更新する。
ステップT1−6−7では、配線難易度処理部14は、ルート維持の難易度の変更があるか否かを判定する。ルート維持の難易度の変更がある場合は、ステップT1−6−8に進み、それ以外の場合は、図21のフローは終了する。
ステップT1−6−8では、配線難易度処理部14は、CADデータ記憶部12のバス概略配線データ209の配線難易度のルート維持難易度を変化後の値で更新する。
図22は、図10のステップS4の処理の一例を示すフローチャートである。
ステップS4−1では、配線難易度処理部14は、ステップS1−3で作成したリスト(CADデータ記憶部の配線難易度設定データ212の配線難易度の計算対象リスト)を読み込む。
ステップS4−2では、配線難易度処理部14は、読み込んだ配線難易度の計算対象リストを順次読み出し、配線難易度の計算を行なっていく。
ステップS4−3では、配線難易度処理部14は、初期配線難易度が求まっているか否かを判定する。初期配線難易度が求まっている場合は、ステップS4−4に進み、それ以外の場合は、ステップS4−7に進む。
ステップS4−4では、配線難易度処理部14は、配線難易度の計算対象が配線設計に関連する対象であるか否かを判定する。配線難易度の計算対象が配線設計に関連する対象である場合は、ステップS4−6に進み、それ以外の場合は、ステップS4−5に進む。
ステップS4−5では、配線難易度処理部14は、配線難易度の計算対象リストすべてについてチェックしたか否かを判定する。配線難易度の計算対象リストすべてについてチェックした場合は、そのまま終了し、それ以外の場合は、ステップS4−1に戻る。
ステップS4−6では、配線難易度処理部14は、変動配線難易度を算出する。この処理については後述する。
ステップS4−7では、配線難易度処理部14は、初期配線難易度の初期値を求める設定とする。
図23は、図22のステップS4−6の処理の一例を示すフローチャートである。
ステップS4−6−1では、配線難易度処理部14は、対象ラッツネストとバス概略配線が接続していない部品間で配線設計が行われたか否かを判定する。図24(A)は、対象ラッツネストとバス概略配線が接続していない部品間で配線設計が行われる場合の一例を示す図である。図24(A)に示す例では、部品Aと部品Bとの間に対象のバス概略配線800が接続されており、部品Dと部品Eとの間に配線設計が行われている(配線900参照)。図24(B)は、対象ラッツネストとバス概略配線が接続している部品間で配線設計が行われる場合の一例を示す図である。図24(B)に示す例では、部品Aと部品Bとの間に対象のバス概略配線800が接続されており、部品Aと部品Bとの間に配線設計が行われている(配線900参照)。図24(C)は、対象ラッツネストとバス概略配線が接続している部品間で配線設計が行われる場合の一例を示す図である。図24(C)に示す例では、部品Aと部品Bとの間に対象のバス概略配線800が接続されており、部品Bと部品Cとの間に配線設計が行われている(配線900参照)。
ステップS4−6−1において、対象ラッツネストとバス概略配線が接続していない部品間で配線設計が行われた場合に、ステップS4−6−2に進み、それ以外の場合は、ステップS4−6−3に進む。
ステップS4−6−2では、配線難易度処理部14は、配線難易度の導出処理で初期配線難易度を求めず、ルート維持の難易度を求める。
ステップS4−6−3では、配線難易度処理部14は、初期配線難易度を求める。
図25乃至図27は、配線設計に伴う配線難易度の表示例を示す図である。尚、図25乃至図27では、配線難易度は、青色、黄色、赤色及び黒色の各色で表現されるが、これらの色は、カラーの図面を用いない関係上、"青"等の文字で示す。これらの色を指示する文字及び矢印は、実際の表示ではない。これは、該当する後続の図においても同様である。
図25(A)に示す例は、部品Aと部品Cを配線し、部品Bと部品Cを配線する例である。図25(A)に示す例では、部品Aから部品Cにバス概略配線800が設定され、部品Bから部品Cにはラッツネスト700が表示されている。部品Aから部品Cに設定されたバス概略配線800の色は配線難易度を計算していないため、白色である。尚、図25(A)に示す例では、図10のステップS1で部品Aから部品Bの間に設定されたバス概略配線800の配線難易度が求まっていないと判断される。
図25(B)は、初期配線難易度の初期値が算出されて反映された状態を示す。本例では、バス概略配線800の配線難易度は高くないため、バス概略配線800の色は青色で表示される。設計者は、バス概略配線800の色が青色に変化したことで対象のバス概略配線800は他の配線の影響を受けていないことを理解できる。
図25(C)に示す例は、図25(B)に示す状態において、部品B上部の部品端子から部品Cの部品端子へ接続されているラッツネストの配線が実行された状態を示す。かかる配線設計が実行されると、図10のステップS3に移り、配線設計の変更指示があったと判断される。次いで、図10のステップS4に移り、変動配線難易度導出処理部21が配線難易度の計算を行なう。本例では、図25(C)に示す部品Bの部品端子から部品Cの部品端子へ配線設計を行なったことによって、配線難易度に差分が抽出される。この結果を受けて、ステップS5に移り、配線難易度に応じた識別方法で表示部10が図25(D)に示すような表示を出力する。
図25(D)は、図25(C)に示す配線設計により変動した配線難易度の表示例を示す。本例では、バス概略配線の色が青色から黄色に変化する。設計者は、色が変化したことによって、図25(C)に示す配線設計がバス概略配線に影響を与えたことを理解できる。
図26(A)は、図25(D)に示す状態において、配線設計途中であった部品B上部の部品端子から部品Cの部品端子への配線設計が完了された状態を示す。かかる配線設計が実行されると、図10のステップS3に移り、配線設計の変更指示があったと判断される。次いで、図10のステップS4に移り、変動配線難易度導出処理部21がルート維持難易度の計算を行なう(図19のステップS1−7−6)。図19のステップS1−7−7ではルート維持の難易度のみが変更される。本例では、ルート維持難易度が変化した影響が少ないと判断され、配線難易度は変化しないものとする。この場合、バス概略配線の色は変化せず表示部10はバス概略配線の色を黄色で表示する(図26(B)参照)。
図26(B)は、図26(A)に示す配線設計により変動した配線難易度の表示例を示す。設計者は、表示の色が変化しないことを見ることによって、部品Cの部品端子へ接続した配線設計が、周辺の未配線のラッツネスト及び未配線のバス概略配線に対して影響を与えていないことを理解できる。
図26(C)は、図26(B)に示す状態において、部品Bの下部にある部品端子から部品Cの部品端子に接続されているラッツネストの配線設計が実行された状態を示す。かかる配線設計が実行されると、図10のステップS3に移り、配線設計の変更指示があったと判断される。次いで、図10のステップS4に移り、変動配線難易度導出処理部21がルート維持難易度の計算を行なう(図19のステップS1−7−6)。本例では、ステップS1−7−6でルート維持の難易度が「不可」と判断されるものとする。この場合、表示部10はバス概略配線の色を黒色で表示する(図26(D)参照)。即ち、配線難易度に変化があり、バス概略配線の色が黄色から黒色に変化する。設計者は、配線難易度の色が黄色から黒色に変化したことを認識することで、部品B下部から部品Cへの配線設計が部品Aと部品Bのバス概略配線に大きな影響を与えていることを理解できる。このため、設計者が、図27(A)に示すように、部品B下部の部品端子から部品Cの部品端子への配線設計を一部削除する。かかる配線設計の変更・削除が実行されると、図10のステップS3に移り、ステップS4で変動配線難易度導出処理部21が変動配線難易度の導出を行なう。部品Bのから部品Cの配線設計を一部削除したことによって配線難易度は低くなる。配線難易度が変化した結果を受けてステップS5で表示部10が表示を行なう。この場合、図27(B)に示すように、部品Aから部品Bのバス概略配線が黒色から黄色に変化する。設計者は、バス概略配線の配線難易度の色を見ることで、部品B下部から部品Cの配線設計の影響が少なくなったと理解できる。
このようにして本実施例によれば、設計者は、配線設計を行いながら、その配線設計が他の周辺の未配線のラッツネスト及び未配線のバス概略配線に対してどのような影響を与えるかを視覚的に理解できる。即ち、未配線区間への影響を定量的に把握できるようになる。配線設計による未配線区間への影響を事前に知ることができるようになり、レイアウト設計の手戻りを抑制できる。レイアウト設計を行なっている際に後々に大幅な配置配線の変更を行わなければならないリスクを低減できる。手戻りを抑制することにより、配線設計時間の大幅な短縮が見込まれる。この結果からレイアウト設計の時間を短縮し、手間を削減することができる。
次に、配線難易度の計算についての詳細を説明する。
図28は、配線難易度の説明図である。配線難易度は、初期配線難易度と変動配線難易度とを含む。初期配線難易度は3種類の指標がある。1つ目は「配線距離」、2つ目は「配線ねじれ」、3つ目は「制約条件」である。変動配線難易度は「ルート維持」である。各配線難易度は独立していながらも関連し合う。
配線距離の難易度は、バス概略配線及びラッツネストの双方が計算対象となる。制約条件の難易度も同様、バス概略配線及びラッツネストの双方が計算対象となる。配線ねじれの難易度は、バス概略配線及びラッツネストのうち、バス概略配線が計算対象となる。また、ルート維持の難易度は、バス概略配線及びラッツネストの双方が計算対象となる。
配線距離とは、端子間の配線距離である。配線距離の難易度は、配線設計を行なう端子間がどれだけ離れているかに基づいて算出される。バス概略配線については、バス概略配線内における最も長い配線距離又は代表的な配線距離が考慮されてよい。配線距離の難易度は、基本的には、配線距離が短いほど低くなる態様で算出されてよい。
制約条件とは、配線設計をする際の配線の条件である。ただし、基本条件である配線幅や配線間隙を除く。制約条件は、配線設計に関連する線長制約、等長制約、平行間隔、配線優先順位、素子接続順などを含んでよい。制約条件は、CADデータ記憶部12の制約条件データ211で設定される。尚、線長制約とは、指定された配線長で配線設計を行なうことである。線長制約は、配線長、ないし遅延時間で定義でき、マージンを考慮する仕組みをもってもよい。制約条件は、配線の特性(例えばネットで扱う高速信号レベル)や、接続対象の部品の種別等に応じて可変されてもよい。
配線ねじれとは、複数の部品端子が属する部品同士を接続する際に決められた端子間をつなぐ際に、単純に接続できない(即ち接続に工夫が必要となる)バス概略配線内のラッツネストの数であってよい。
ルート維持とは、設計者が設定した配線ルートを維持できるかを示す。ルート維持の難易度は、対象の未配線区間が他の配線設計によってどの程度影響を受けたかを表す。
図29は、配線距離難易度処理部40の処理(図19のS1−7−2の処理)の一例を示すフローチャートである。
ステップZ1では、配線距離難易度処理部40は、難易度導出の対象はバス概略配線であるか否かを判定する。難易度導出の対象はバス概略配線である場合は、ステップZ2に進み、それ以外の場合(即ちラッツネストの場合)は、ステップZ4に進む。
ステップZ2では、配線距離難易度処理部40は、バス概略配線の端子群の重心を導出し、各重心点を始終点とする。
ステップZ3では、配線距離難易度処理部40は、バス概略配線の始終点及び経由点から配線距離を算出する。
ステップZ4では、配線距離難易度処理部40は、端子間距離を算出する。
ステップZ5では、配線距離難易度処理部40は、端子間距離を配線距離記憶部51に記憶する。
ステップZ6では、配線距離難易度処理部40は、端子間距離に基づいて、配線距離の難易度を導出する。例えば、図12に示す基準を用いる場合、端子間距離Dが所定値d1以下である場合(図30(A)参照)、配線距離難易度処理部40は、配線距離の難易度を"0"と決定する。端子間距離Dが所定値d1よりも大きく所定値d2以下である場合(図30(B)参照)、配線距離難易度処理部40は、配線距離の難易度を"1"と決定する。端子間距離Dが所定値d2よりも大きい場合(図30(C)参照)、配線距離難易度処理部40は、配線距離の難易度を"2"と決定する。所定値d1は、設計者が設定した理想的な配線距離であってよい。所定値d2は、設計者が許容できると設定した配線距離であってよい。所定値d1、d2は、デフォルト値であってもよい。尚、本例では、配線距離の難易度を3段階に設定したが、3段階に限らず、2段階や4段階以上であってもよい。
ステップZ7では、配線距離難易度処理部40は、CADデータ記憶部12に、導出した配線距離の難易度(ラッツネスト、バス概略配線の配線難易度)を記憶する。
図31は、制約条件難易度処理部41の処理(図19のS1−7−3の処理)の一例を示すフローチャートである。
ステップW1では、制約条件難易度処理部41は、初期難易度導出処理部20の配線距離難易度処理部40の配線距離記憶部51から配線距離を読み出す。尚、配線距離は、ステップS1−7−2の配線距離難易度の計算の際に導出されたものが利用される。この目的のため、ステップS1−7−2の配線距離難易度の計算は、ステップS1−7−3の制約条件の難易度を計算する前に実行される(図19参照)。
ステップW2では、制約条件難易度処理部41は、配線距離に基づいて、制約条件の難易度を導出する。例えば、図32には、部品Aの部品端子から部品B(本例ではダンピング抵抗)までの配線長について、下限値はd3で上限値はd4で設定した例が示されている。配線長の下限値とは指定された配線の長さの最小値を表し、上限値は指定された配線の長さの最大値である。尚、制約条件の難易度に係る基準値は、配線距離の難易度に係る基準値とは異なり、設計者が自由に設定できない類の基準値である。本例では、制約条件難易度処理部41は、部品Aの部品端子から部品Bの部品端子までの直線距離を用いて、制約条件の難易度を導出する。具体的には、図13に示す基準を用いる場合、配線距離Dがd3以上且つd4以下であるとき、制約条件難易度処理部41は、制約条件の難易度を"0"と決定する。配線距離Dがd3よりも10%以下で短いとき、制約条件難易度処理部41は、制約条件の難易度を"1"と決定する。配線距離Dがd3よりも20%以下で短いとき、制約条件難易度処理部41は、制約条件の難易度を"2"と決定する。配線距離Dがd4よりも大きいとき、制約条件難易度処理部41は、制約条件の難易度を"不可"と決定する。尚、本例では、制約条件の難易度を3段階に設定したが、4段階に限らず、3段階や5段階以上であってもよい。
ステップW3では、制約条件難易度処理部41は、CADデータ記憶部12に、導出した制約条件の難易度(ラッツネスト、バス概略配線の配線難易度)を記憶する。
図33は、配線ねじれ難易度導出処理部80の処理(図19のS1−7−5の処理)の一例を示すフローチャートである。
ステップV1では、配線ねじれ処理部81は、接続対象の各部品の部品端子に番号を付与する。例えば、図34(A)に示すように、配線ねじれ処理部81は、部品Aと部品Bの配線先にそれぞれ番号を設定する。図34(A)等においては、番号が○内に示されている。以下では、○内に"1"が入っている端子を「1番端子」とも称し、○内に"2"が入っている端子を「2番端子」とも称し、以下同様である。尚、図34(A)は、計算対象のバス概略配線内のラッツネスト700を示す図である。ここでは、6本のラッツネスト700により形成されているバス概略配線に関する配線ねじれの難易度の算出方法を一例として説明する。
ステップV2では、配線ねじれ処理部81は、部品端子群の重心を導出する。
ステップV3では、配線ねじれ処理部81は、基準点と4点設定する。例えば、図34(B)に示すように、部品端子の番号にアンダーラインで示すように端になる箇所を基準点と設定する。部品Aの場合は接続する部品Bから見て、一番端の部品端子(1番端子)を基準点とする。部品Bの場合は接続する部品Aから見て一番端となる部品端子(2番端子)を基準点とする。基準点を決めることで実際の配線をする際により短く配線するためである。配線ねじれ処理部81は、基準点を配線ねじれ処理部81のバッファ領域に配線ねじれモデルの基準点として記憶する。
ステップV4では、配線ねじれ処理部81は、重心点から接続点に向かって線分を伸ばし、円を形成し、配線ねじれモデルの端子間の番号を円状に配置する。このとき、図34(C)に示すように、配線ねじれ処理部81は、部品Aの場合には基準点から右周りに番号を取得し、部品Bの場合には部品Aと同じ基準点から左周りに番号を取得する。これにより、図34(D)に示すように、端子間の番号が円状に配置される。
ステップV5では、配線ねじれ処理部81は、配線ねじれモデルの円状に配置した番号の並びを逆回転になるように配置する。例えば、図34(E)に矢印にて模式的に示すように、配線ねじれ処理部81は、部品Bの円状に配置した番号の並びを逆回転になるように配置変更する。図34(E)に示す例では、部品Bの1番端子と3番端子、5番端子と2番端子が左右反転される。
ステップV6では、配線ねじれ処理部81は、図34(F)に示すように、部品Bの配線ねじれモデルの円を反時計回りに回転させ、部品Aと部品Bの番号の配置が合致する点を探す。即ち、配線ねじれ処理部81は、反時計回りに回していき、円状の配線ねじれモデルの配置箇所が同じになる箇所を探していく。
ステップV7では、配線ねじれ処理部81は、配線ねじれ難易度処理部42の配線ねじれ処理部81のバッファ領域に、一致数が多い配置箇所の配線ねじれモデルの円状の並びを記憶する。ここでは、一例として、図35(A)に示すように、番号の配置が2か所で一致する配置が2つ(解1及び解2)見つかった場合を想定する。
ステップV8では、配線ねじれ処理部81は、図35(B)に示すように、基準点を比較し、基準点の配置が近い配置を採用する。本例の場合は、図35(B)に示すように、基準点が配置位置と重なっている解1が採用される。
ステップV9では、配線ねじれ処理部81は、図35(C)に示すように、最も配置が一致していた円の配置から円をほどいていき、実際の配置と同じ位置になるように縦に並べていく。そして、配線ねじれ処理部81は、図35(D)に示すように、縦に並んだ番号を縦に配置し、配線先の番号を線分でつなげていく。尚、このとき、線が交差している部分が配線の難しい箇所となる。
ステップV10では、配線ねじれ処理部81は、配線ねじれモデルの交差数を記憶する。配線ねじれモデルの交差数は、ステップV9で生成した線分が交差している個所の数である。
ステップV11では、配線ねじれ処理部81は、配線ねじれモデルの配置において、基準点との位置関係が同じ場合の配線ねじれモデルがあるか否かを判定する。基準点からの配置箇所が同じ配線ねじれモデルがある場合は、ステップV12に進み、それ以外の場合は、ステップV13に進む。
ステップV12では、配線ねじれ処理部81は、一番交差数が少ない配線ねじれモデルの配置を採用する。ここで、図35(E)にて○印で模式的に示すように、5か所交差していることが確認される。
ステップV13では、配線ねじれ処理部81は、配線ねじれモデルにおいて交差している個所があるか否かを判定する。配線ねじれモデルにおいて交差している個所がある場合は、ステップV14に進み、それ以外の場合は、ステップV16に進む。
ステップV14では、配線ねじれ処理部81は、図35(E)に示すように、モデル図の交差している箇所を交差がなくなるように交差している番号の上に番号を入れ、配線ねじれモデルを組み替えていく。図35(E)に示す例では、3番と5番が交差しているので、3番の上に5番を入れる。
ステップV15では、配線ねじれ処理部81は、配線ねじれ難易度処理部42の配線ねじれモデル入れ替え数記憶部82に入れ替え数を加算する。入れ替え数とは、上記ステップV14にて入れ替えを行った回数である。このような入れ替えは、図36(A)〜図36(D)に示すように、交差がなくなるまで繰り返される。交差を解消するたびに入れ替え数記憶部82に入れ替え数が加算されていく。
ステップV16では、配線ねじれ処理部81は、配線ねじれの難易度を導出する。例えば、配線ねじれ処理部81は、全体の配線ねじれ数と入れ替え数の比較に基づいて、配線ねじれの難易度レベルを導出する。例えば、本例では、今回の配線ねじれは6通りであり、入れ替え回数は3回である。よって、3/6×100で、50%となる。配線ねじれの難易度レベルは、図14に示したとおりである。この場合、入れ替え数が0のとき、配線ねじれ処理部81は、配線ねじれの難易度を"0"と決定する。また、全体の配線ねじれ数に対して入れ替え数が60%以下であるとき、配線ねじれ処理部81は、配線ねじれの難易度を"1"と決定する。また、全体の配線ねじれ数に対して入れ替え数が60%より大きいとき、配線ねじれ処理部81は、配線ねじれの難易度を"2"と決定する。尚、本例では、配線ねじれの難易度を3段階に設定したが、3段階に限らず、2段階や4段階以上であってもよい。また、配線ねじれモデル図の配線ねじれモデルの交差数から配線ねじれの難易度を導出したが、他の方法が使用されてもよい。
ステップV17では、配線ねじれ処理部81は、CADデータ記憶部12に、導出した配線ねじれの難易度(バス概略配線の配線難易度)を記憶する。
図37は、ルート維持難易度処理部43の処理(図19のS1−7−6の処理)の一例を示すフローチャートである。
ステップU1−1では、ルート維持難易度処理部43は、引き出し処理を実施する。この処理については後述する。尚、引き出しとは部品内に部品端子がある場合、部品外に配線を引き出すことである。尚、ここでの引き出しは、実際の配線設計としての引き出しではなく、あくまで以下の判定のための内部処理である。
ステップU1−2では、ルート維持難易度処理部43は、引き出しが可能であるか否かを判定する。引き出しが可能である場合は、ステップU1−3に進み、それ以外の場合は、ステップU1−6に進む。尚、引き出しが可能でない場合としては、部品外に他の部品等が近接して存在する場合等でありうる。
ステップU1−3では、ルート維持難易度処理部43は、配線可能面積導出処理を実施する。配線可能面積とは、対象のラッツネスト又はバス概略配線が配線可能と推定される面積である。この処理については後述する。
ステップU1−4では、ルート維持難易度処理部43は、配線可能面積を導出できたか否かを判定する。配線可能面積を導出できた場合は、ステップU1−5に進み、それ以外の場合は、ステップU1−6に進む。
ステップU1−5では、ルート維持難易度処理部43は、ルート維持の難易度導出処理を実行する。この処理については後述する。
ステップU1−6では、ルート維持難易度処理部43は、ルート維持の難易度を「不可」と決定する。
図38は、図37のステップU1−1の処理の一例を示すフローチャートである。
ステップY1では、ルート維持難易度処理部43は、対象の部品端子群からの引き出しを行なう。引き出しは任意の方法で実行されてもよい。例えば、特開2010−211753公報に開示される方法が採用されてもよい。この場合、ルート維持難易度処理部43は、対象の部品のグラフ化を行ない、セル内にIn、Outのノードを設ける。ルート維持難易度処理部43は、外部に湧き出しノードを1つ、ターゲットポイントTを1つ設ける(図39参照)。ルート維持難易度処理部43は、各ポイントからの枝をそれぞれ形成する。ルート維持難易度処理部43は、経路の探索には最大フローアルゴリズムを適用し、引き出しを行なう。
ステップY2では、ルート維持難易度処理部43は、対象の部品端子群から引き出せたか否かを判定する。尚、図39に示す例では、ターゲットポイントTは、バス概略配線800の先端に設定される。対象の部品端子群から引き出せた場合は、ステップY3に進み、それ以外の場合は、ステップY4に進む。
ステップY3では、ルート維持難易度処理部43は、引き出しができたことを設定する。この場合、図37のステップU1−2の判定結果は肯定判定となる。
ステップY4では、ルート維持難易度処理部43は、引き出しができないことを設定する。この場合、図37のステップU1−2の判定結果は否定判定となる。
図40は、図37のステップU1−3の処理の一例を示すフローチャートである。
ステップW1では、ルート維持難易度処理部43の配線必要面積導出処理部73は、配線必要面積を導出する。配線必要面積とは対象のラッツネスト又はバス概略配線を配線するために必要と推定される面積である。この処理は後述する。図41(A)に示す例では、バス概略配線800に対する配線必要面積R2が示されている。
ステップW2では、配線可能面積導出処理部74は、配線可能面積を導出する。配線可能面積とは、対象のラッツネスト又はバス概略配線が配線可能と推定される面積である。この処理は後述する。図41(B)に示す例では、バス概略配線800に対する配線可能面積R7が示されている。
ステップW3では、配線可能面積導出処理部74は、配線可能面積の導出が中止となっているか否かを判定する。配線可能面積の導出が中止となっている場合は、ステップW8に進み、それ以外の場合は、ステップW4に進む。
ステップW4では、配線可能面積導出処理部74は、配線可能面積が配線必要面積よりも大きいか否かを判定する。図41(C)に示す例では、配線可能面積R7が配線必要面積R2よりも大きい。配線可能面積が配線必要面積よりも大きい場合は、ステップW7に進み、それ以外の場合は、ステップW5に進む。
ステップW5では、配線可能面積導出処理部74は、配線可能面積に、配線可能面積と配線必要面積との差分(足りない分)を加算する。
ステップW6では、配線可能面積導出処理部74は、上記ステップW5で加算された値まで配線可能面積を拡張できるか否かを判定する。配線可能面積を拡張できる場合は、ステップW7に進み、それ以外の場合は、ステップW8に進む。
ステップW7では、配線可能面積導出処理部74は、配線可能面積の導出ができたことを設定する。この場合、図37のステップU1−4の判定結果は肯定判定となる。
ステップW8では、配線可能面積導出処理部74は、配線可能面積の導出ができないことを設定する。この場合、図37のステップU1−4の判定結果は否定判定となる。
図42は、図40のステップW1の処理の一例を示すフローチャートである。
ステップW1−1では、配線必要面積導出処理部73は、配線必要面積の導出対象がバス概略配線であるか否かを判定する。配線必要面積の導出対象がバス概略配線である場合は、ステップW1−2に進み、それ以外の場合(即ちラッツネストの場合)は、ステップW1−5に進む。
ステップW1−2では、配線必要面積導出処理部73は、バス概略配線に所属する配線の配線幅及び配線距離を導出する。
ステップW1−3では、配線必要面積導出処理部73は、バス概略配線に所属する最大間隙を導出する。
ステップW1−4では、配線必要面積導出処理部73は、図43(B)に示すように、所属するネットリストの最遠端距離×(配線幅+最大配線間隙)を本数分加算し、配線必要面積を導出する。尚、図43(B)には、バス概略配線に係る配線必要面積R2が模式的に示されていると共に、端子群の最遠端が符号P1にて指示されている。
ステップW1−5では、配線必要面積導出処理部73は、ラッツネストの配線必要面積について、(端子間を直線で結んだ距離)×配線幅により導出する。尚、図43(A)には、ラッツネスト700に係る配線必要面積R1が模式的に示されている。
ステップW1−6では、配線必要面積導出処理部73は、ステップW1−4で求めた配線必要面積から最大間隙×1を減算することで配線必要面積を導出する。
ステップW1−7では、配線必要面積導出処理部73は、線長制約があるか否かを判定する。線長制約がある場合は、ステップW1−8に進み、それ以外の場合は、ステップW1−10に進む。
ステップW1−8では、配線必要面積導出処理部73は、線長制約に必要な面積を加算する必要があるか否かを判定する。加算する必要がある場合は、ステップW1−9に進み、それ以外の場合は、ステップW1−10に進む。
ステップW1−9では、配線必要面積導出処理部73は、線長制約に必要な最大面積を導出し、導出した最大面積をステップW1−6で求めた配線必要面積に加算する。
ステップW1−10では、配線必要面積導出処理部73は、配線必要面積記憶部75に、上述の如く導出した配線必要面積を記憶する。
図44は、図40のステップW2の処理の一例を示すフローチャートである。
ステップW2−1では、配線可能面積導出処理部74は、仮配線領域の導出処理を行なう。この処理については後述する。
ステップW2−2では、配線可能面積導出処理部74は、仮配線領域の導出処理結果に基づいて、配線可能面積を導出する。この処理については後述する。
図45は、図44のステップW2−1の処理の一例を示すフローチャートである。
ステップW2−1−1では、配線可能面積導出処理部74は、仮配線領域の導出処理の対象がバス概略配線であるか否かを判定する。仮配線領域の導出処理の対象がバス概略配線である場合は、ステップW2−1−2に進み、それ以外の場合(即ちラッツネストの場合)は、ステップW2−1−5に進む。
ステップW2−1−2では、配線可能面積導出処理部74は、引き出しを行い、部品外へ配線先端子を出す。図46(A)は、部品Bの部品端子から引き出しを行なった場合を示す。
ステップW2−1−3では、配線可能面積導出処理部74は、引き出した際の引き出し面積を算出する。例えば、図46(B)に示す例では、配線可能面積導出処理部74は、引き出した後に引き出しに必要な部品Bの部品端子内の引き出し面積R3を導出する。
ステップW2−1−4では、配線可能面積導出処理部74は、引き出した先を接続端子とする。
ステップW2−1−5では、配線可能面積導出処理部74は、仮配線領域設定処理を行う。仮配線領域の設定方法は任意であるが、一例については後述する。図46(C)に示す例では、仮配線領域600が設定されている。
ステップW2−1−6では、配線可能面積導出処理部74は、ルート維持難易度処理部43の配線可能面積記憶部76内のデータを読み込み、配線可能面積の導出が中止になっているか否かを判定する。配線可能面積の導出が中止になっている場合は、そのまま終了する。他方、配線可能面積の導出が中止になっていない場合は、ステップW2−1−7に進む。
ステップW2−1−7では、配線可能面積導出処理部74は、仮配線領域内で最大フローアルゴリズムを実行し、対象のバス概略配線の配線設計がすべて配線できるか否かを判定する。最大フローアルゴリズムは、対象のバス概略配線の配線設計がすべて仮配線領域内で配線できるか否かを、スペースの観点から判定する処理となる。従って、上述のような配線ねじれのような因子は考慮されない。尚、対象がラッツネストの場合も同様である。
ステップW2−1−8では、配線可能面積導出処理部74は、未配線区間が検出されたか否かを判定する。未配線区間が検出された場合は、ステップW2−1−9に進み、それ以外の場合は、ステップW2−1−10に進む。
ステップW2−1−9では、配線可能面積導出処理部74は、ルート維持難易度処理部43の未配線区間記憶部77に未配線区間を記憶する。
ステップW2−1−10では、配線可能面積導出処理部74は、配線面積拡大処理を行う。配線面積拡大処理方法は任意であるが、一例については後述する。図47(A)には、拡大領域602が設定されている。尚、図47(A)において、矢印は拡大方向を模式的に表す。図47(B)には、仮配線領域600の拡大が完了した状態が示されている。尚、ステップW2−1−5、ステップW2−1−6、ステップW2−1−7、ステップW2−1−8、ステップW2−1−9及びステップW2−1−10の各処理は、特許文献1に記載されるような方法で実現されてよい。
ステップW2−1−11では、配線可能面積導出処理部74は、配線面積拡大処理を行ったか否かを判定する。配線面積拡大処理を行った場合は、ステップW2−1−12に進み、それ以外の場合は、ステップW2−1−13に進む。
ステップW2−1−12では、配線可能面積導出処理部74は、配線面積縮小処理を行う。この処理については後述する。
ステップW2−1−13では、配線可能面積導出処理部74は、仮配線領域を配線領域として決定する。
図48は、図45のステップW2−1−5の処理の一例を示すフローチャートである。
ステップA1では、配線可能面積導出処理部74は、CADデータ記憶部12のラッツネストデータ208又はバス概略配線データ209に含まれている配線難易度の未配線区間拡大本数を読み込む。このとき、未配線区間拡大本数が記憶されている場合は、配線可能面積導出処理部74は、仮配線領域に係る未配線区間拡大本数を加算する。従って、ステップW2−1−10(ステップB4)で未配線区間拡大本数が記憶されたときは、次のステップA2で決定される仮配線領域はその分だけ拡大されることになる。
ステップA2では、配線可能面積導出処理部74は、仮配線領域をバス概略配線の経路を元に作成する。配線可能面積導出処理部74は、指定されたバス概略配線の所属ネット数、線幅、間隙、端子位置などの設計情報に基づいて、仮配線領域を決定する。
図49は、図45のステップW2−1−10の処理の一例を示すフローチャートである。
ステップB1では、配線可能面積導出処理部74は、ルート維持難易度処理部43の未配線区間記憶部77から未配線区間を読みだす。
ステップB2では、配線可能面積導出処理部74は、読み出した未配線区間数が減少しているか否かを判定する。未配線区間数が減少している場合は、ステップB3に進み、それ以外の場合は、ステップB6に進む。
ステップB3では、配線可能面積導出処理部74は、未配線区間数を配線難易度の未配線区間拡大本数に加算する。
ステップB4では、配線可能面積導出処理部74は、配線難易度の未配線区間拡大本数の値を記憶する。
ステップB5では、配線可能面積導出処理部74は、未配線区間拡大本数とルート維持難易度レベル設定の不可判定の未配線区間本数を比較する。ルート維持難易度レベル設定の不可判定の未配線区間本数の一例は、図15に示した通りである。図15に示す例では、ルート維持難易度レベル設定の不可判定の未配線区間本数は、"11"である。配線可能面積導出処理部74は、CADデータ記憶部12の配線難易度設定データ212のルート維持の難易度レベルを参照し、未配線区間拡大本数を比べる。
ステップB6では、配線可能面積導出処理部74は、配線可能面積の導出を中止し、配線可能面積記憶部76における配線可能面積の値を"NULL"とする。
このようにして、図45のステップW2−1−9,W2−1−10,W2−1−5,W2−1−6,W2−1−7,W2−1−8のループでは、配線可能面積導出処理部74は、バス概略配線の未配線区間がなくなるまで、仮配線領域を拡大していく。このとき、配線可能面積導出処理部74は、未配線本数分の配線幅と配線間隙を加算した領域により拡大する(図47(B)参照)。この結果、ルート維持の難易度レベル設定の不可判定の未配線区間本数よりも未配線区間拡大本数が多くなった場合には、配線可能面積の導出が中止となる。
図50は、図45のステップW2−1−12の処理の一例を示すフローチャートである。
ステップC1では、配線可能面積導出処理部74は、CADデータ記憶部12の配線難易度の未配線区間拡大本数を読み出す。
ステップC2では、配線可能面積導出処理部74は、仮配線領域に係る未配線区間拡大本数を1本分減算する。
ステップC3では、配線可能面積導出処理部74は、最大フローアルゴリズムを利用した配線を実行する。
ステップC4では、配線可能面積導出処理部74は、未配線区間があるか否かを判定する。未配線区間がある場合は、ステップC2に戻り、それ以外の場合は、ステップC5に進む。
ステップC5では、配線可能面積導出処理部74は、不足した未配線拡大本数を1本加算する。
ステップC6では、配線可能面積導出処理部74は、CADデータ記憶部12の配線難易度の未配線区間拡大本数として、ステップC5で得た値を記憶する。
図51は、図44のステップW2−2の処理の一例を示すフローチャートである。
ステップW2−2−1では、配線可能面積導出処理部74は、図45のステップ2−1−13で得た配線領域の面積に、図45のステップW2−1−3で算出した引き出し面積を加算する。
ステップW2−2−2では、配線可能面積導出処理部74は、図45のステップ2−1−13で得た配線領域と図45のステップW2−1−3で算出した引き出し面積との間の重なっている面積を、ステップW2−2−1の算出結果から減算する。例えば、図47(C)に示す例では、配線可能面積導出処理部74は、引き出し面積R3と仮配線領域600の面積との間の重複面積R6を減算する。
ステップW2−2−3では、配線可能面積導出処理部74は、配線領域から部品面積や部品端子面積などの配線できない領域を削除する。例えば、図47(D)に示す例では、配線可能面積導出処理部74は、部品面積や部品端子面積などの配線できない領域を削除(減算)する。
ステップW2−2−4では、配線可能面積導出処理部74は、ステップW2−2−2及びステップW2−2−3で減算及び削除した後の配線領域の面積を、配線可能面積(図47(D)の配線可能面積R7参照)として算出する。
ステップW2−2−5では、配線可能面積導出処理部74は、ステップW2−2−4で算出した配線可能面積を、ルート維持難易度処理部43内の配線可能面積記憶部76に記憶する。
図52は、図37のステップU1−5の処理の一例を示すフローチャートである。
ステップU1−5−1では、ルート維持難易度処理部43は、ラッツネストデータ208とバス概略配線データ209の配線難易度の未配線区間拡大本数を読み出す。
ステップU1−5−2では、ルート維持難易度処理部43は、図15に示したルート維持の難易度レベルを参照し、ルート維持の難易度レベルを算出する。図15に示した基準を用いる場合、未配線区間拡大本数が3本よりも小さい場合、ルート維持難易度処理部43は、ルート維持の難易度を"0"と決定する。未配線区間拡大本数が3本以上で且つ5本以下である場合、ルート維持難易度処理部43は、ルート維持の難易度を"1"と決定する。未配線区間拡大本数が5本より多く且つ10本以下である場合、ルート維持難易度処理部43は、ルート維持の難易度を"2"と決定する。未配線区間拡大本数が10本より多い場合、ルート維持難易度処理部43は、ルート維持の難易度を"不可"と決定する。尚、本例では、ルート維持の難易度を4段階に設定したが、4段階に限らず、3段階や5段階以上であってもよい。
ステップU1−5−3では、ルート維持難易度処理部43は、CADデータ記憶部12に、導出したルート維持の難易度(ラッツネスト、バス概略配線の配線難易度)を記憶する。
図53は、ルート維持の難易度の算出態様の説明図である。
ここでは、図53(A)に示すように、一例として、部品Aと部品Bの間でバス概略配線800を設定し、部品Cと部品Dの間でラッツネスト700を設定した初期状態を想定する。部品Cと部品Dの間には、配線禁止領域Hが設けられる。図53(B)に示すように、部品Aと部品Bの間のバス概略配線800に対して配線可能面積R7が設定される。ここで、設計者が、図53(C)に示すように、部品Cと部品Dの配線設計を行なった場合を想定する(配線902参照)。この場合、図53(D)に示すように、部品Cと部品Dの配線設計によって、配線可能面積R7が拡大されて導出されることになる。図53(E)には、拡大されていた領域の部分がR8で指示されている。これは仮配線領域の導出の際にステップW2−1−5でバス概略配線の設置箇所を基本に領域を作成するためである。ここで、設計者が、図53(F)に示すように部品Cと部品Dの間の配線設計を削除した場合を想定する。この場合、ステップW2−1−12の配線面積縮小処理が実行されることになる。
次に、配線難易度を導出するための難易度レベルの管理方法について記載する。
図54は、配線難易度レベルの管理例の説明図である。図54は、配線ねじれの難易度レベル「1」であり、配線距離の難易度レベル「1」であった場合を示す。尚、各指標の難易度レベルを加算し、合計値で導出することも可能である。配線難易度レベルは一定のレベルを超えると変わらなくなることとする。これは合計値が極端に高くなることを防ぐためである。設計者の重要視する項目を選択することも可能とする。重要視する項目については重みづけ係数を設定し、配線難易度の計算に含めることも可能とする。
図55は、配線難易度の管理例の説明図である。図55(A)に示す例では、配線難易度は、各項目25ポイントを上限として管理される。図55(B)は、各配線難易度のポイントを各難易度のごとに分割して分けた図である。例えば、配線距離の難易度レベルは図12に示したように3段階に設定されるため、2分割される。配線距離の難易度レベルが1つ上がるごとに12.5ポイント上昇する。配線難易度処理部14は、CADデータ記憶部12のラッツネスト、バス概略配線の配線難易度を参照し、各配線難易度を計算する。図55(B)に示す例では、あるバス概略配線の配線難易度について、配線距離の難易度及び配線ねじれの難易度がそれぞれ12.5ポイントであり、図55(C)に示すように、合計で25ポイントとなる。
図56は、合計配線難易度の表示例を示す図である。ここでは、バス概略配線を合計配線難易度レベルに応じて色を分けて表示する方法について説明する。尚、図11に示したように、合計配線難易度レベルは、3段階に設定される。図11に示す例では、合計配線難易度レベルが0〜30のときは青色、31〜70のときは黄色、71〜100のときは赤色、不可のときは黒で表示するように設定されている。図56において、(A)乃至(C)におけるそれぞれ右上に描かれた表は、説明用であり、実際の画面上に表示されていないものとする。
図56(A)に示す初期状態では、配線距離の難易度レベルは1、配線ねじれの難易度レベルは1、制約条件の難易度レベルは0、ルート維持の難易度レベルは0であるとする。配線難易度の合計値を加算すると合計値は25である。このとき、図11に示す合計配線難易度レベル幅に基づいて、バス概略配線800の色は、青色で表示されることになる。
図56(A)に示す初期状態において、設計者が、図56(B)に示すように、部品Cを新たに追加した場合を想定する。この場合、部品Cが追加されたことによって、上述の如く、配線難易度(変動配線難易度)が算出される。このとき、例えばルート維持の難易度レベルが「0」から「1」に変化する。図55に示した配線難易度の計算方法を適用すると、ルート維持の配線難易度ポイントが12.5ポイント増加し、合計配線何度レベルが37.5ポイントに変化する。この結果、図11に示す合計配線難易度レベル幅に基づいて、バス概略配線800の色は、図56(C)に示すように、青色から黄色へと変化される。このとき、設計者は、バス概略配線の色が変化したことによって、部品Cの追加が配線難易度に影響を与えていることを設計者が理解できる。
図57は、配線難易度の個別の表示例を示す図である。図57において、(A)乃至(C)におけるそれぞれ右上に描かれた表は、説明用であり、実際の画面上に表示されていないものとする。図58は、個別配線難易度レベル幅の例を示す図である。図58に示す例では、個別配線難易度レベルが3段階に設定され、合計配線難易度レベルが0〜12.4のときは青色、12.5〜24.9のときは黄色、25〜のときは赤色で表示するように設定されている。
図57(A)に示す初期状態では、配線距離の難易度レベルは1、配線ねじれの難易度レベルは1、制約条件の難易度レベルは0、ルート維持の難易度レベルは0であるとする。バス概略配線は、4つの領域810,820,830,840に分割される。領域810,820,830,840は、それぞれ、配線距離の難易度レベル、配線ねじれの難易度レベル、制約条件の難易度レベル及びルート維持の難易度レベルの表示領域としても機能する。このとき、図58に示す個別配線難易度レベル幅に基づいて、領域810は黄色で示され、領域820は黄色で示され、領域830は青色で示され、領域840は青色で示される。
図57(A)に示す初期状態において、設計者が、図57(B)に示すように、部品Cを新たに追加した場合を想定する。この場合、部品Cが追加されたことによって、上述の如く、配線難易度(変動配線難易度)が算出される。このとき、例えばルート維持の難易度レベルが「0」から「1」に変化する。このとき、例えばルート維持の難易度レベルが「0」から「1」に変化する。これに伴い領域840の色は、図57(C)に示すように、青色から黄色へと変化される。このとき、設計者は、バス概略配線の領域840の色が変化したことによって、部品Cの追加がルート維持の難易度に影響を与えていることを理解できる。このようにして、個別に難易度を表示する場合は、どの難易度に影響を与えているかを設計者が容易に理解できる。
図59は、バス概略配線の配線難易度の他の表示例を示す図である。図59に示す例では、バス概略配線の配線難易度がグラフで表示される。
図59に示す各グラフGrは、常態では非表示であり、例えば対象のバス概略配線800を選択した際に表示されてもよい。グラフGrは、図59に模式的に示すように、吹き出し形式で表示されてもよいし、画面遷移により表示されてもよい。グラフGrは、図59に示すように、各指標の難易度レベルを個別に表示する。
図59(A)に示す初期状態では、配線距離の難易度レベルは1、配線ねじれの難易度レベルは1、制約条件の難易度レベルは0、ルート維持の難易度レベルは0であるとする。この場合、図59(A)に示すように、配線距離の難易度レベル及び配線ねじれの難易度レベルに係る棒表示がレベル"1"の高さで表示される。
図59(A)に示す初期状態において、設計者が、図59(B)に示すように、部品Cを新たに追加した場合を想定する。この場合、部品Cが追加されたことによって、上述の如く、配線難易度(変動配線難易度)が算出される。このとき、例えばルート維持の難易度レベルが「0」から「1」に変化する。このとき、ルート維持の難易度レベルに係る棒表示は、図59(C)に示すように、レベル"0"の高さからレベル"1"の高さに変化される。このとき、設計者は、ルート維持の難易度レベルに係る棒表示の高さが変化したことによって、部品Cの追加がルート維持の難易度に影響を与えていることを理解できる。このようにして、個別に難易度を表示する場合は、どの難易度に影響を与えているかを設計者が容易に理解できる。尚、ルート維持の難易度が"不可"になった場合には、図59(D)に示すように、ルート維持の難易度レベルに係る棒表示は、レベル"0"の高さからレベル"不可"の高さに変化される。
尚、配線難易度の表示例は上述した例に限られない。例えば、ネットリストとバス概略配線を点滅や破線で強調表示する方法であってもよい。
次に、配線難易度の計算領域指定方法について説明する。図60は、配線難易度の計算領域指定方法の説明図である。尚、計算領域の指定は、図10に示した処理に先立って実行されてよい(ステップS1−1参照)。
図60(A)は初期状態を示す。ここでは、部品Aと部品Bを配線設計し、部品Cと部品Dを配線設計する例を想定する。設計者は、まず、部品Aと部品B間、及び、部品Cと部品D間に、バス概略配線800を設定する。このとき、配線難易度が未設定であり、バス概略配線は、上述の如く白色で表示される。
図60(B)は、配線難易度の計算領域を指定した例を示す。図60(B)に示す例では、破線で示した部品Aと部品Bと部品Aと部品Bのバス概略配線800を含んだ領域を設計者が配線難易度計算領域と指定している。配線難易度の計算領域の指定は、入力装置103から設計者がマウス等のデバイスを用いて入力を行なうことで実現されてよい。かかる指定が行われると、図60(B)で示した配線難易度計算領域の左上の座標1と右下の座標2が、CADデータ記憶部12の配線難易度設定データ212に格納される。この場合、上記ステップS1−1では配線難易度の導出の指定があると判断される。ステップS1−2の配線難易度の導出設定処理に移る。本例では、配線難易度の計算領域が指定されている。従って、ステップS1−2−1で配線難易度導出の領域指定がある、と判定される。ステップS1−2−2では、配線難易度処理部14がCADデータ記憶部12の配線難易度設定データ212の配線難易度の計算領域(座標1、座標2)を参照し、配線難易度の計算領域を取得する。ステップS1−2−3では、配線難易度処理部14は、取得した配線難易度計算領域とCADデータ記憶部12のラッツネストの座標1、座標2とバス概略配線座標列(座標1、座標2、・・・座標N)を参照し、配線難易度計算領域内に含まれているラッツネストとバス概略配線を判断する。S1−2−4で配線難易度計算領域内に含まれている対象のラッツネストとバス概略配線を配線難易度の設定データリストに記憶する。本例では、部品Aと部品Bのバス概略配線800の配線難易度が計算される。部品Aと部品Bの間に設定されたバス概略配線800の配線難易度が計算され、ここではバス概略配線800の表示の色が白色から青色に変化する(図60(C))。一方で部品Cと部品D間に設定されたバス概略配線800は配線難易度計算領域内に含まれていないと判断されるために配線難易度は変化せず、バス概略配線の色は白色のままである。
図60(C)に示す状態において、図60(D)に示すように、部品Aと部品Bの間ならびに部品Cと部品Dの間に部品Eを配置設計する必要が生じたために部品Eを設計者が配置した場合を想定する。このレイアウト設計の変更(ステップS2のYES)を受けてステップS1において、配線難易度の自動計算が行われる。配線難易度処理部14は取得した配線難易度計算領域内に含まれているラッツネストとバス概略配線の配線難易度の計算を実行する。本例では、部品Aと部品Bのバス概略配線800の配線難易度が計算される。その結果、本例では、部品Eを配置設計したことによって、配線難易度が変化する。これにより、例えば図60(E)に示すように、部品Aと部品B間のバス概略配線の色は青色から黄色に変化する。これにより、設計者は、部品Eの配置設計が部品Aと部品B間のバス概略配線に影響を与えていると理解できる。一方、部品Cと部品D間に設定されたバス概略配線は配線難易度計算領域内に含まれていないと判断されるために配線難易度は変化せず、バス概略配線の色は白色のままである。配線難易度の計算領域が指定されている場合には以上のような配線難易度の計算を用いてレイアウト設計が行われていく。
図61は、配線難易度の計算対象指定方法の説明図である。
図61(A)は初期状態を示す。ここでは、部品Aと部品Bとの間で配線設計し、部品Cと部品Dとの間で配線設計し、部品Dと部品Eとの間で配線設計する例を想定する。設計者は、部品Aと部品B、部品Bと部品C、部品Dと部品Eのそれぞれにバス概略配線800を設定する。
図61(B)は、配線難易度の計算対象を指定した例を示す。図61(B)に示す例では、破線で示した部品Bを設計者が配線難易度の計算対象と指定している。配線難易度の計算対象の指定は入力装置103から設計者がマウス等のデバイスを用いて入力を行なうことで実現されてよい。指定する計算対象はラッツネスト名、バス概略配線名、部品名であってよい。かかる指定が行われると、設計者が配線難易度の計算対象として指定した対象の部品名が取得され、CADデータ記憶部12の配線難易度設定データ212に格納される。この場合、上記ステップS1−1では配線難易度の導出の指定があると判断される。ステップS1−2の配線難易度の導出設定処理に移る。ステップS1−2−1では配線難易度の計算領域の指定がないと判定される。本例では、配線難易度の計算対象が指定されているため、S1−2−4で対象のラッツネストとバス概略配線が配線難易度の設定データリストに記憶される。本例では、部品Aと部品Bのバス概略配線と部品Bと部品Cのバス概略配線の配線難易度が計算される。部品Aと部品Bの間に設定されたバス概略配線と部品Bと部品Cの間に設定されたバス概略配線の配線難易度が計算され、ここでは双方のバス概略配線の色が白色から青色に変化する(図61(C))。一方で部品Dと部品Eの間に設定されたバス概略配線は配線難易度の計算対象内に含まれていないと判断されるために配線難易度は変化せず、バス概略配線の色は白色のままである。
図61(C)に示す状態において、図61(D)に示すように、設計者が部品Bと部品Cの間に部品Fを配置設計すると共に、部品Dと部品Eの間に部品Gを配置設計した場合を想定する。このレイアウト設計の変更(ステップS2のYES)を受けてステップS1において、配線難易度の自動計算が行われる。配線難易度処理部14は取得した対象のラッツネストとバス概略配線の配線難易度設定データリストを参照し、配線難易度の計算を実行する。本例では、部品Aと部品Bのバス概略配線と部品Bと部品Cのバス概略配線の配線難易度が計算される。部品Bと部品Cの間に設定されたバス概略配線の配線難易度が計算され、部品Fを配置設計したことによって、配線難易度が変化する。これにより、例えば図61(E)に示すように、部品Bと部品C間のバス概略配線の色が青色から黄色に変化する。これにより、設計者は、部品Fの配置設計が部品Bと部品C間のバス概略配線に影響を与えていると理解できる。一方、部品Dと部品E間に設定されたバス概略配線は配線難易度の計算対象内に含まれていないと判断されるために配線難易度は変化せず、バス概略配線の色は白色ままである。配線難易度の計算対象が指定されている場合には以上のような配線難易度の計算を用いてレイアウト設計が行われていく。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、上述した実施例では、4つの指標(ルート維持、配線ねじれ、制約条件、配線距離)を用いて配線難易度を算出しているが、これらの4つの指標のうちの任意の1つ又は任意の2つは省略されてもよい。また、4つの指標(ルート維持、配線ねじれ、制約条件、配線距離)以外の新たな他の指標を導入してもよい。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、
前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力する、
処理をコンピューターに実行させる設計支援プログラム。
(付記2)
前記指標毎の難易度は、前記部品間の配線について、前記変更指示を受ける前のルートを維持して配線設計を行う場合の難易度を表す第1難易度を含む、付記1に記載の設計支援プログラム。
(付記3)
前記部品間の配線は、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含み、
前記指標毎の難易度は、前記バス概略配線に係る前記複数の配線を前記端子間で配線を行う場合の難易度を表す第2難易度を含む、付記1又は2に記載の設計支援プログラム。
(付記4)
前記指標毎の難易度は、前記部品間の配線について、2つの部品の端子間の配線距離に応じた難易度を表す第3難易度を含む、付記1〜3のうちのいずれか1項に記載の設計支援プログラム。
(付記5)
前記指標毎の難易度は、前記部品間の配線について、制約条件を満たすように配線設計を行う場合の難易度を表す第4難易度を含む、付記1〜4のうちのいずれか1項に記載の設計支援プログラム。
(付記6)
前記第1難易度は、前記変更指示を受ける前のルートを維持して配線設計を行う場合に必要となる仮配線領域の拡大態様に基づいて算出される、付記2に記載の設計支援プログラム。
(付記7)
前記第2難易度は、2つの部品のそれぞれの各端子を所定の並び順に直線状に配置したときの、前記複数の配線間の交差数に基づいて、算出される、付記3に記載の設計支援プログラム。
(付記8)
前記第2難易度は、前記交差数と、前記交差数を無くすときに必要となる前記並び順の入れ替え回数との関係に基づいて、算出される、付記7に記載の設計支援プログラム。
(付記9)
前記難易度の算出方法又は表示方法に関する設定の変更指示を受けると、前記変更指示に従った変更後の設定に基づいて、前記難易度を算出する処理をコンピューターに更に実行させる付記1に記載の設計支援プログラム。
(付記10)
前記算出した難易度を、前記部品間の配線に係る表示に対応付けて出力する、付記1に記載の設計支援プログラム。
(付記11)
前記算出した難易度を、前記算出した難易度に応じた色で出力する、付記10に記載の設計支援プログラム。
(付記12)
前記指標毎の難易度は、
前記部品間の配線について、前記変更指示を受ける前のルートを維持して配線設計を行う場合の難易度を表す第1難易度と、
前記部品間の配線が、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含む場合に、前記バス概略配線に係る前記複数の配線を前記端子間で配線を行う場合の難易度を表す第2難易度と、
前記部品間の配線について、2つの部品の端子間の配線距離に応じた難易度を表す第3難易度と、
前記部品間の配線について、制約条件を満たすように配線設計を行う場合の難易度を表す第4難易度とを含み、
前記算出した難易度を表す情報を出力することは、前記第1難易度、前記第2難易度、前記第3難易度及び前記第4難易度を表す情報を個別に出力すること、又は、前記第1難易度、前記第2難易度、前記第3難易度及び前記第4難易度を総合した情報を出力することを含む、付記10又は11に記載の設計支援プログラム。
(付記13)
前記難易度は、配線可否を表す情報を含む、付記1〜12のうちのいずれか1項に記載の設計支援プログラム。
(付記14)
基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、
前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力することを含む、設計支援方法。
(付記15)
基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力する処理装置を含む、設計支援装置。
(付記16)
付記1〜15のうちのいずれか1項において、前記部品間の配線は、指定された領域内の部品間の配線、又は、指定された部品に係る配線を含む。
(付記17)
基板上の配線予定の配線を表す表示を出力し、
前記基板上の部品配置の変更指示又は前記基板上の配線の変更指示を受けると、前記変更指示に係る変更後における前記配線予定の配線について、配線を行う場合の難易度を算出し、
前記算出した難易度を表す情報を、前記表示に対応付けて出力する、
処理をコンピューターに実行させる設計支援プログラム。
1 設計支援装置
14 配線難易度処理部
20 初期難易度導出処理部
21 変動配線難易度導出処理部
40 配線距離難易度処理部
41 制約条件難易度処理部
42 配線ねじれ難易度処理部
43 ルート維持難易度処理部
700 ラッツネスト
800 バス概略配線

Claims (10)

  1. 基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、
    前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力する、
    処理をコンピューターに実行させ
    前記部品間の配線は、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含み、
    前記指標毎の難易度は、前記バス概略配線に係る前記複数の配線を前記端子間で配線設計を行う場合の、前記複数の配線間でのねじれによる難易度を表す第1難易度を含む、
    設計支援プログラム。
  2. 前記部品間の配線は、指定された領域内の部品間の配線、又は、指定された部品に係る配線を含む、請求項1に記載の設計支援プログラム。
  3. 前記指標毎の難易度は、前記部品間の配線について、前記変更指示を受ける前のルートを維持して配線設計を行う場合の難易度を表す第難易度を含む、請求項1に記載の設計支援プログラム。
  4. 前記指標毎の難易度は、前記部品間の配線について、2つの部品の端子間の配線距離に応じた難易度を表す第3難易度を含む、請求項1〜のうちのいずれか1項に記載の設計支援プログラム。
  5. 前記指標毎の難易度は、前記部品間の配線について、制約条件を満たすように配線設計を行う場合の難易度を表す第4難易度を含む、請求項1〜のうちのいずれか1項に記載の設計支援プログラム。
  6. 前記算出した難易度を、前記部品間の配線に係る表示に対応付けて出力する、請求項1に記載の設計支援プログラム。
  7. 前記指標毎の難易度は、
    前記部品間の配線について、前記変更指示を受ける前のルートを維持して配線設計を行う場合の難易度を表す第難易度と
    記部品間の配線について、2つの部品の端子間の配線距離に応じた難易度を表す第3難易度と、
    前記部品間の配線について、制約条件を満たすように配線設計を行う場合の難易度を表す第4難易度とを含み、
    前記算出した難易度を表す情報を出力することは、前記第1難易度、前記第2難易度、前記第3難易度及び前記第4難易度を表す情報を個別に出力すること、又は、前記第1難易度、前記第2難易度、前記第3難易度及び前記第4難易度を総合した情報を出力することを含む、請求項6に記載の設計支援プログラム。
  8. 前記難易度は、配線可否を表す情報を含む、請求項1〜のうちのいずれか1項に記載の設計支援プログラム。
  9. コンピューターが、
    基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力するステップと
    前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力するステップと、実行し、
    前記部品間の配線は、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含み、
    前記指標毎の難易度は、前記バス概略配線に係る前記複数の配線を前記端子間で配線設計を行う場合の、前記複数の配線間でのねじれによる難易度を表す第1難易度を含む、設計支援方法。
  10. 基板上の部品及び配線の設計図において、部品の配置の変更指示を受けると、配置変更後の部品の部品間の配線に係る指標毎の難易度を、算出して出力し、前記設計図において、部品間の配線の変更指示を受けると、部品間の変更後の配線に係る指標毎の難易度を、算出して出力する処理装置を含み、
    前記部品間の配線は、2つの部品の端子間をそれぞれ接続する複数の配線を纏めたバス概略配線を含み、
    前記指標毎の難易度は、前記バス概略配線に係る前記複数の配線を前記端子間で配線設計を行う場合の、前記複数の配線間でのねじれによる難易度を表す第1難易度を含む、設計支援装置。
JP2014081359A 2014-04-10 2014-04-10 設計支援プログラム、設計支援方法及び設計支援装置 Active JP6314619B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014081359A JP6314619B2 (ja) 2014-04-10 2014-04-10 設計支援プログラム、設計支援方法及び設計支援装置
US14/615,465 US9471740B2 (en) 2014-04-10 2015-02-06 Support apparatus and design support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014081359A JP6314619B2 (ja) 2014-04-10 2014-04-10 設計支援プログラム、設計支援方法及び設計支援装置

Publications (2)

Publication Number Publication Date
JP2015203882A JP2015203882A (ja) 2015-11-16
JP6314619B2 true JP6314619B2 (ja) 2018-04-25

Family

ID=54265270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014081359A Active JP6314619B2 (ja) 2014-04-10 2014-04-10 設計支援プログラム、設計支援方法及び設計支援装置

Country Status (2)

Country Link
US (1) US9471740B2 (ja)
JP (1) JP6314619B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3335250B2 (ja) * 1994-05-27 2002-10-15 株式会社東芝 半導体集積回路の配線方法
JPH09212535A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd プリント基板への部品実装設計方法およびその支援装置
JP4311244B2 (ja) * 2004-03-19 2009-08-12 株式会社日立製作所 配線経路決定方法及びシステム
JP5226246B2 (ja) * 2007-05-30 2013-07-03 ラピスセミコンダクタ株式会社 配線設計プログラム、配線設計方法及び配線設計装置
JP2009020786A (ja) * 2007-07-13 2009-01-29 Renesas Technology Corp ネットリストの配線難易度計算方法
JP5056363B2 (ja) * 2007-11-12 2012-10-24 富士通株式会社 配線経路情報生成方法、配線経路情報生成プログラムおよび配線経路情報生成装置
JP2010146287A (ja) * 2008-12-18 2010-07-01 Nec Corp プリント配線図の変更作業支援装置、方法およびプログラム
JP5233761B2 (ja) 2009-03-12 2013-07-10 富士通株式会社 配線経路作成支援方法、配線経路作成支援プログラム、及び配線経路作成支援装置
JP5418341B2 (ja) 2010-03-19 2014-02-19 富士通株式会社 設計支援プログラム、設計支援装置および設計支援方法
WO2013171779A1 (ja) * 2012-05-14 2013-11-21 株式会社 日立製作所 配管又は配線支援装置

Also Published As

Publication number Publication date
US9471740B2 (en) 2016-10-18
JP2015203882A (ja) 2015-11-16
US20150294059A1 (en) 2015-10-15

Similar Documents

Publication Publication Date Title
US8745556B2 (en) Layout method and system for multi-patterning integrated circuits
JP4000198B2 (ja) 会話型回路設計装置
JP5056363B2 (ja) 配線経路情報生成方法、配線経路情報生成プログラムおよび配線経路情報生成装置
JP5233761B2 (ja) 配線経路作成支援方法、配線経路作成支援プログラム、及び配線経路作成支援装置
JP2003016131A (ja) 相互接続の方法と装置
US9817941B2 (en) Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US7143385B2 (en) Wiring design method and system for electronic wiring boards
JP2010040661A (ja) 半導体装置の設計方法、プログラム及び半導体装置
JP2004502259A (ja) 階層型金属末端、包囲、および曝露をチェックする方法およびシステム
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
US9262359B1 (en) Method and system for implementing pipeline flip-flops
Kahng et al. TritonRoute-WXL: The open-source router with integrated DRC engine
US8015529B1 (en) Methods and apparatus for diagonal route shielding
US8694288B2 (en) CAD pipe arrangement and pipe relationship database validation
JP2007188188A (ja) レイアウト方法、cad装置、プログラム及び記憶媒体
JP5418341B2 (ja) 設計支援プログラム、設計支援装置および設計支援方法
JP2015166981A (ja) レイアウト検証方法、検証装置、及び検証プログラム
JP6314619B2 (ja) 設計支援プログラム、設計支援方法及び設計支援装置
JP2011095917A (ja) プロジェクト進捗管理装置
JP6981296B2 (ja) バス配線探索プログラム、バス配線探索方法および情報処理装置
JP2014126954A (ja) 図面文字配置支援システム
CN100573536C (zh) 以曼哈顿路由安排点到中心点的路径的方法以及集成电路
Liu et al. A matching based escape routing algorithm with variable design rules and constraints
JP2009301351A (ja) 設計支援プログラム、設計支援装置、および設計支援方法
US8904327B2 (en) Assisting in logic circuit design to place cells on an IC substrate and optimize wiring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180215

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: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6314619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150