JP2004259167A - 分担配線設計システムおよび分担配線設計方法 - Google Patents
分担配線設計システムおよび分担配線設計方法 Download PDFInfo
- Publication number
- JP2004259167A JP2004259167A JP2003051439A JP2003051439A JP2004259167A JP 2004259167 A JP2004259167 A JP 2004259167A JP 2003051439 A JP2003051439 A JP 2003051439A JP 2003051439 A JP2003051439 A JP 2003051439A JP 2004259167 A JP2004259167 A JP 2004259167A
- Authority
- JP
- Japan
- Prior art keywords
- assignment
- signal terminal
- connection point
- connection
- evaluation value
- 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.)
- Pending
Links
Images
Abstract
【課題】複数の設計領域からある共通の領域間接続点へのアサインの設計と、アサインされた結果に基づいて各設計領域間の結線を効率よく行うことが可能な分担配線設計システムを得ること。
【解決手段】1つの半導体装置を構成する別個に設計された複数の設計領域で共通に使用する信号端子を、設計領域間に設けられた接続点を介して結線するために、信号端子と接続点をアサインする分担配線設計システムであって、信号端子と接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合のアサイン候補内における相対的な良否を示す評価値を設計領域ごとに設定するための入力部13と、設定された評価値に基づいて信号端子と接続点のアサインを決定するアサイン処理部12とを備える。
【選択図】 図1
【解決手段】1つの半導体装置を構成する別個に設計された複数の設計領域で共通に使用する信号端子を、設計領域間に設けられた接続点を介して結線するために、信号端子と接続点をアサインする分担配線設計システムであって、信号端子と接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合のアサイン候補内における相対的な良否を示す評価値を設計領域ごとに設定するための入力部13と、設定された評価値に基づいて信号端子と接続点のアサインを決定するアサイン処理部12とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、LSI(Large−Scale Integration)設計とパッケージ設計などのように、それぞれ別個に設計された設計領域間の配線設計と、配線設計された結果に基づいて各設計領域間の結線を行う分担配線設計システムおよび分担配線設計方法に関するものである。
【0002】
【従来の技術】
半導体装置の設計においては、たとえばパッケージとLSIなどのように複数の設計領域に分割して分担設計し、その後に各設計領域間に設けられた接続点を介して、各設計領域間を配線することが多く行われている。この場合、接続点への各設計領域の信号端子のアサインや結線は、まず、ある一つの分割された設計領域内で先行して考えられ、その設計に合わせる形で、その後に他の分割された設計領域の領域間接続点への信号端子のアサインや結線を行うようにしていた。
【0003】
また、特許文献1には、入出力ピン列を有する位置の回路ブロックと他の回路ブロックとの間の配線における中継用端子位置の決定方法において、一の回路ブロックの入出力ピン列と平行な配線領域辺を設定し、この一の回路ブロックの入出力ピンから配線領域辺に降ろした垂線と配線領域辺との交点を中継用端子位置として決定し、一の回路ブロックから中継用端子位置までを直線で配線することが開示されている。これによって、一の回路ブロックがたとえばハードマクロなどのように規則的に配置された多数のピンを含む場合に、一の回路ブロックと中継用端子位置との間における配線の折れ曲がりや未結線などの配線混雑を解消している。
【0004】
【特許文献1】
特開平5−106050号公報(第2頁、第2〜4図)
【0005】
【発明が解決しようとする課題】
しかしながら、従来の分担設計による各設計領域間の配線設計では、一つの設計領域で先行的に接続点とのアサインを検討するだけであり、他の設計領域での事情を考慮したアサインとはなっていないという問題点があった。たとえば、一つの設計領域の信号端子と接続点との間で先行的にアサインがされたが、他の設計領域の対応する信号端子と接続点との間には障害物が存在するため、アサインできない場合には対応することができない。
【0006】
また、従来の分担設計による各設計領域間の配線設計では、アサインの変更を行うときも一つの設計領域内でのみ行われ、他の設計領域のことは考慮されていないために、アサインの変更を効率よく行うことができないという問題点もあった。たとえば、ある一つの設計領域の信号端子と接続点との間でアサインがなされ、他の設計領域の信号端子と接続点との間でアサインがなされた後に、他の設計領域内のみでアサインの変更がなされると、ある一つの設計領域の信号端子と接続点との間では配線障害を通るアサインとなってしまうという場合が存在する。
【0007】
さらに、特許文献1に開示されている端子位置の決定方法は、入出力ピン列を有する一の回路ブロックの入出力ピンの物理的位置に着目して、他の回路ブロックとの間の配線で使用される中継用接続端子の配置位置を決定するものであり、一の回路ブロックと他の回路ブロックとの間におけるアサインの変更には対応することができないという問題点があった。
【0008】
この発明は、上記に鑑みてなされたもので、複数の設計領域からある共通の領域間接続点へのアサインの設計と、アサインされた結果に基づいて各設計領域間の結線を効率よく行うことが可能な分担配線設計システムおよび分担配線設計方法を得ることを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる分担配線設計システムは、1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点をアサインする分担配線設計システムであって、前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す評価値を前記領域ごとに設定するための入力手段と、前記設定された評価値に基づいて前記信号端子と前記接続点のアサインを決定するアサイン処理手段と、を備えることを特徴とする。
【0010】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる分担配線設計システムおよび分担配線設計方法の好適な実施の形態を詳細に説明する。
【0011】
実施の形態1.
図1は、この発明にかかる分担配線設計システムの実施の形態1の構成を示すブロック図である。分担配線設計システムは、分担設計された各設計領域の信号端子と設計領域間の接続点との間の配線のアサインについての情報を格納するアサイン情報格納部11と、信号端子と接続点との間のアサインの処理を行うアサイン処理部12と、分担配線設計システムの使用者(以下、ユーザという)がアサインに必要な情報を入力するための入力部13と、ユーザに対してアサインを行う際に必要な情報を表示出力する表示部14とを有する。
【0012】
アサイン情報格納部11は、分担設計された各設計領域の信号端子と接続点との間で行われたアサインについてのアサイン情報を格納する。
【0013】
アサイン処理部12は、分担設計された各設計領域の信号端子と接続点との間に、ユーザによって設定された所定の評価値に基づいて最適なアサインを検討し、検討した結果をアサイン情報としてアサイン情報格納部11に格納する。所定の評価値として、各アサイン候補の優先度、各設計領域の信号端子や各接続点について信号の高速性などによって付される重要度、設計領域の各信号端子と各接続点との間の距離(2次元の距離)を用いることができる。
【0014】
入力部13は、ある複数の設計領域の信号端子間をアサインするために、ユーザが設計領域の信号端子や接続点の所定の評価値の設定を行う場合などに使用される。
【0015】
表示部14は、ある複数の設計領域間をアサインしやすいように、それぞれの設計領域や接続点を視覚化したり、アサイン作業中にユーザに対して必要なメッセージを表示したりする。
【0016】
つぎに、分担配線設計システムの動作処理について、図2のフローチャートを参照しながら説明する。なお、以下の説明では、図3に示されるように、それぞれ独立して分担設計された設計領域1の信号端子1〜3と設計領域2の信号端子1〜3とを(各設計領域の共通する信号端子同士を)、領域間の接続点A〜Hを介してアサインする場合について説明を行う。
【0017】
まず、アサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報が配線設計システムに読み込まれ、表示部14に表示される(ステップS1)。つぎに、ユーザによって、各設計領域について各信号端子(または接続点)にどの接続点(または信号端子)へアサインを行うかの検討が行われ、その検討結果が入力部13から入力される(ステップS2)。たとえば、図3に示されるように2つの設計領域間でアサインを実行する場合には、それぞれの領域について各信号端子(または接続点)をアサインする接続点(または信号端子)の候補が挙げられる。このとき挙げられる各信号端子(または接続点)をアサインする接続点(または信号端子)の候補は複数であってもよく、その場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間を順位付けして評価することが可能な所定の評価値、または各信号端子間や各接続点間の重要度が設定される。
【0018】
ユーザによるアサイン候補の設定が終了した後に、アサイン決定するために、アサイン処理部12は、アサインが未決定である信号端子(または接続点)を検索する(ステップS3)。検索の結果、アサインが未決定の信号端子(または接続点)がない場合(ステップS4でNOの場合)には、設計領域と接続点との間のすべてのアサインが決定されていることになるので、処理は終了する。一方、検索の結果、アサインが未決定の信号端子(または接続点)が存在する場合(ステップS4でYES)には、アサインが未決定の信号端子(または接続点)を選択する(ステップS5)。そして、この選択された信号端子(または接続点)に対して、各設計領域から共通のアサイン候補として挙げられている接続点(または信号端子)を抽出する(ステップS6)。
【0019】
つぎに、ステップS6で抽出された各設計領域から共通のアサイン候補が複数あるか否かが、アサイン処理部12によって判断され(ステップS7)、共通のアサイン候補が複数でない場合、すなわち他にアサイン候補がない場合(ステップS7でNOの場合)には、ステップS5で抽出されたアサイン候補がアサインとして決定される(ステップS8)。一方、共通のアサイン候補が複数ある場合(ステップS7でYESの場合)には、各信号端子(または接続点)に対して複数存在する共通のアサイン候補の接続点(または信号端子)のそれぞれについて各設計領域で設定された評価値を計算する(ステップS9)。
【0020】
そして、アサイン処理部12は、信号端子(または接続点)に対し、共通するアサイン候補のうち、最も優れた評価値を有するアサイン候補をアサインとして決定する(ステップS10)。
【0021】
その後またはステップS8の後に、アサイン処理部12は、各設計領域の信号端子(または接続点)に対して決定したアサインについてのアサイン情報をアサイン情報格納部11に格納し(ステップS11)、未決定のアサインがなくなるまで上記のステップS3〜S11の処理が繰り返し実行される。
【0022】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0023】
つぎに、この実施の形態1の分担配線設計システムを用いたアサイン処理の具体例をさらに詳細に説明する。
【0024】
(1)各設計領域の各信号端子について接続される可能性のある接続点とのアサイン優先度と、各信号端子間の重要度とを評価値として用いる場合
ここでは、各設計領域の各信号端子について、接続される可能性のある接続点とのアサイン優先度を評価値として用いる場合を、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げて説明する。
【0025】
図4は、各設計領域の信号端子をアサインする接続点の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、図4(a)、(b)はそれぞれ設計領域1、設計領域2についてのアサイン候補の優先度および信号端子間における重要度の設定例を示している。この図4では、図3に示される設計領域1,2の各信号端子をアサインする接続点の候補が、アサイン優先度を付けられて示されており、また、各信号端子間での重要度も示されている。ここで、アサイン優先度および重要度は、ともにその数値が大きいほど優先順位が高いことを表している。図4(a)には、たとえば、設計領域1の信号端子1をアサインする接続点の候補として接続点A〜Hまでが挙げられているが、この中では接続点Aとのアサインの優先度が最も高いことが示されている。同様に、設計領域1の信号端子2では接続点Bとの優先度が高く、そして信号端子3では接続点Cとの優先度が高くなっている。図4(b)でも同様に、設計領域2の信号端子1では接続点Fとのアサインの優先度が高く、信号端子2では接続点Gとのアサインの優先度が高く、そして信号端子3では接続点Hとのアサインの優先度が高くなっている。また、信号端子1〜3間の重要度は、信号端子2、信号端子3、信号端子1の順となっている。
【0026】
アサイン処理部12は、未決定のアサインが存在する場合には、この図4の各信号端子の各接続点に対するアサイン優先度に基づいて、ある接続点について各設計領域で設定された優先度の合計を算出する。すなわち、アサイン処理部12は、未決定の信号端子に対するアサイン候補である接続点A〜Hのそれぞれについて、設計領域1でのアサイン優先度と設計領域2でのアサイン優先度との合計を求める。図5は、ある接続点についての各設計領域における優先度を合計した結果を信号端子ごとにまとめた図を示している。たとえば、接続点Aの場合、図4から設計領域1のアサイン優先度は10であり、設計領域2のアサイン優先度は1であるので、その優先度合計は11となり、この演算結果が図5の信号端子1の接続点Aの部分に表示されている。
【0027】
そして、アサイン処理部12は、信号端子について共通するアサイン候補の接続点のうち最も優先度合計の高いものを選択し、この選択された接続点をアサインとして決定する。ここで、ある接続点が複数の信号端子にとって最高の優先度となる場合があるので、信号端子に重要度を設定し、この信号端子の重要度の順に信号端子を選択し、この選択した信号端子に対する接続点のアサインを決定することで、1つの接続点に複数の信号端子が設定されてしまうことを防止することができる。図5の例では、信号端子2,3,1の順に重要度が低くなっていくので、アサイン処理部12は、この順に信号端子を選択し、アサインの決定を行っていく。すなわち、信号端子2では、接続点Gとの優先度合計が最も高いので、接続点Gがアサインとして決定される。同様に、信号端子3のアサインとして接続点Hが決定され、信号端子1のアサインとして接続点Fが決定される。
【0028】
このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図3では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0029】
(2)各接続点について各信号端子とのアサイン優先度と、各信号端子間および各接続点間の重要度とを評価値として用いる場合
ここでは、各接続点について各信号端子とのアサイン優先度と、各信号端子間および各接続点間の重要度とを評価値として用いる場合を、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げて説明する。
【0030】
図7は、各接続点をアサインする設計領域ごとの信号端子の候補とその優先度、および各信号端子間における重要度の設定例を示す図である。この図7(a)、(b)には、それぞれ図3に示される接続点をアサインする設計領域1,2の信号端子の候補が、アサイン優先度を付されて示されている。ここで、アサイン優先度は、その数値が大きいほど優先順位が高いことを表している。たとえば、図7(a)の接続点Aについては、信号端子1,2,3の優先度はそれぞれ10,9,8であり、この中では信号端子1とのアサイン優先度が最も高いことが示されている。図7(c)は、各信号端子間での重要度が示されており、その数値が大きいほど重要度が高いことを示している。すなわち、この図7(c)では、信号端子1,3,2の順に重要度が低くなっていくことを示している。そして、図7(d)は、各接続点間での重要度が示されており、その数値が大きいほど重要度が高いことを示している。すなわち、この図7(d)では、接続点E,F,G,・・・,Dの順に重要度が低くなっていくことを示している。
【0031】
アサイン処理部12は、未決定のアサインが存在するか否かを判定し、存在する場合にはアサインを決定する処理を行う。ここでは、アサインが一つも決定されていない状態であるとすると、図7(d)から重要度の最も高い接続点Eからアサインが決定される。アサイン処理部12は、接続点Eに対して各領域から共通する信号端子の候補を図7(a)、(b)から抽出し、抽出した各接続領域の信号端子のアサイン優先度の合計を計算する。すなわち、接続点Eに対して設計領域1の信号端子1〜3に設定されたアサイン優先度と設計領域2の信号端子1〜3に設定されたアサイン優先度との合計を求める。図8の接続点Eの欄に示される各信号端子の優先度の合計がアサイン処理部12によって計算される。
【0032】
つぎに、アサイン処理部12は、接続点について共通するアサイン候補の信号端子のうち最も優先度合計の高いものを選択し、この選択された信号端子をアサインとして決定する。接続点Eの場合、信号端子1,2の優先度合計が最も高いので、アサイン処理部12はさらに図7(c)の信号端子間の重要度を参照して、信号端子1を接続点Eのアサインとして決定する。
【0033】
その後、アサイン処理部12は、未決定のアサインが存在する場合には、上述した処理を行い、未決定のアサインがなくなるまで同じ処理を実行する。この例の場合には、図7(d)からつぎに重要度の高い接続点Fについてのアサインを決定する処理が実行される。図8から、接続点Fに対して各設計領域の信号端子の優先度合計が最も高いのは信号端子2であるので、この信号端子2が接続点Fのアサインとして決定される。同様にして、接続点Gについてのアサインを決定する処理が実行され、接続端子3が接続点Gのアサインとして決定される。
【0034】
このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図3では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0035】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の距離(以下、2次元距離という)などを用いるようにしてもよい。2次元距離を評価値として用いる場合には、ステップS9において各接続点ついて各領域での2次元距離を合計し、ステップS10において、2次元距離の合計が最小のアサイン候補をアサインとして決定する。
【0036】
この実施の形態1によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいてアサイン処理部12が最適なアサインを決定するようにしたので、分担設計によって相互に関連なく設計された設計領域間の共通する信号端子間を、障害物などを回避して最も効率よく結ぶアサインを決定することができる。
【0037】
実施の形態2.
この実施の形態2では、アサイン処理部12が、信号端子・接続点の組について各設計領域から評価値の合計を予め計算し、その評価値合計の中で最も評価値合計の優れたものをアサインとして決定する場合を説明する。なお、この実施の形態2における分担配線設計システムの構成は、上述した実施の形態1の図1と同一であるのでその説明を省略し、アサイン処理についてのみ説明する。
【0038】
図9は、この実施の形態2の分担配線設計システムのアサイン処理を示すフローチャートである。
【0039】
まず、実施の形態1の図2で説明したステップS1〜S2と同じ処理を行って、分担配線設計システムにアサインの検討結果が入力される(ステップS21〜S22)。すなわち、分担配線設計システムに読み込まれて表示されたアサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報に基づいて、ユーザによって各信号端子(接続点)にどの接続点(信号端子)へアサインするかの検討結果が入力部13から入力される。各信号端子(接続点)に複数のアサイン候補がある場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間や各信号端子間、各接続点間を順位付けして評価することが可能な所定の評価値が設定されるようにしてもよい。
【0040】
つぎに、アサイン処理部12は、各接続点・信号端子を組とするすべての組合せについて、設定された評価値の合計を計算する(ステップS23)。その後、アサイン処理部12は、計算した接続点・信号端子の組の中から、評価値が最も優れている接続点・信号端子の組を抽出し(ステップS24)、抽出した接続点・信号端子の組をアサインとして決定し(ステップS25)、そのアサインに関するアサイン情報をアサイン情報格納部11に格納する(ステップS26)。そして、アサイン処理部12は、すべての信号端子をアサインしたか否かを判定し(ステップS27)、決定されていないアサインがある場合(ステップS27でNOの場合)には、ステップS24に戻り上述した工程が繰り返される。一方、すべての信号端子がアサインされた場合(ステップS27でYESの場合)には、決定すべきアサインはないので、アサイン処理部12は処理を終了する。
【0041】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0042】
つぎに、この実施の形態2の分担設計配線装置を用いたアサイン処理の具体例についてさらに詳細に説明する。ここでは、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げる。また、ここでは、各接続点についての各信号端子とのアサイン優先度を評価値として用いる場合を例に挙げる。
【0043】
図10は、各接続点をアサインする設計領域ごとの信号端子の候補とその優先度の設定例を示す図である。この図10(a)、(b)には、それぞれ図3に示される接続点をアサインする設計領域1,2の信号端子の候補が、アサイン優先度を付されて示されている。ここで、アサイン優先度は、その値が大きいほど優先度が高いことを表している。
【0044】
この図10の各接続点の各信号端子に対するアサイン優先度に基づいて、アサイン処理部12は、各接続点・信号端子の組合せについての優先度の合計を算出する。すなわち、アサイン処理部12は、各接続点に対して設計領域1の信号端子1〜3に設定されたアサイン優先度と設計領域2の信号端子1〜3に設定されたアサイン優先度との合計を求める。このアサイン優先度の合計を求めたものが図11である。
【0045】
つぎに、アサイン処理部12は、接続点・信号端子の組のうち最も優先度合計の高いものを抽出し、この抽出した接続点と信号端子の組をアサインとして決定する。たとえば、図11の場合には、アサイン優先度の合計が最も大きな数値を順に取り出すと、24,23,22となっており、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点F・信号端子2、接続点F・信号端子3となり、信号端子2,3が接続点Fのアサイン候補となり重なってしまう。この場合には、信号端子間の重要度が設定されていないので、たとえば、信号端子間の重要度が設定されていないときには信号端子1,2,3の順番にアサインを決定するという規則がアサイン処理部12に設定されている場合には、アサイン優先度の合計が最も大きな数値を上記の規則にしたがって抽出すると、24,23,20となり、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点F・信号端子2、接続点G・信号端子3となる。そして、この組合せがアサインとして決定されることになる。このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図2では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0046】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の2次元距離などを用いるようにしてもよい。2次元距離を用いる場合には、2次元距離の合計が最小となるようなアサインの組合せを選択することになる。
【0047】
また、上述した説明では、接続点に対して信号端子のアサイン候補を挙げる場合を示したが、信号端子に対して接続点のアサイン候補を挙げてもよい。この場合には、評価値(優先度や2次元距離)合計が複数ある場合に、信号端子や接続点に重要度を付してこの重要度にしたがってアサインを決定したり、他の信号端子からの評価値合計が低いもの(たとえば、評価値として優先度を使用する場合は、優先度合計が最も少ないもの、また評価値として2次元距離を使用する場合は、2次元距離が最も大きいもの)をアサインとして決定したりするようにしてもよい。
【0048】
この実施の形態2によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいて、アサイン処理部12が接続点・信号端子のすべての組合せについてのアサインの評価値の合計を算出し、評価値の合計が最大となる接続点・信号端子の組から順にアサインとして決定するようにしたので、単純な規則によって効率よくアサインを決定することができる。
【0049】
実施の形態3.
この実施の形態3では、アサイン処理部12が、信号端子・接続点の組について各設計領域から評価値の合計を予め計算し、その評価値合計の平均値が最も高くなるような信号端子・接続点の組を選択することを特徴とする。なお、この実施の形態3における分担配線設計システムの構成は、上述した実施の形態1の図1と同一であるのでその説明を省略し、アサイン処理についてのみ説明する。
【0050】
図12は、この実施の形態3の分担配線設計システムのアサイン処理を示すフローチャートである。
【0051】
まず、実施の形態1の図2で説明したステップS1〜S2と同じ処理を行って、分担配線設計システムにアサインの検討結果が入力される(ステップS31〜S32)。すなわち、分担配線設計システムに読み込まれて表示されたアサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報に基づいて、ユーザによって各信号端子(接続点)にどの接続点(信号端子)へアサインするかの検討結果が入力部13から入力される。各信号端子(接続点)に複数のアサイン候補がある場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間や各信号端子間、各接続点間を順位付けして評価することが可能な所定の評価値が設定されるようにしてもよい。
【0052】
つぎに、アサイン処理部12は、各接続点・信号端子を組とするすべての組合せについて、設定された評価値の合計を計算する(ステップS33)。その後、アサイン処理部12は、各接続点・信号端子の組み合わせのうち評価値を最大にする組み合わせを選択する(ステップS34)。また、これは各接続点・信号端子の組み合わせのうち評価値の平均値が最大となる組み合わせを選択するものでもある。このような条件のアサイン候補をアサインとして設定した後(ステップS35)、アサイン処理部12は、このアサインについてのアサイン情報をアサイン情報格納部11に格納し(ステップS36)、アサインを決定する処理が終了する。
【0053】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0054】
つぎに、この実施の形態3の分担設計配線システムを用いたアサイン処理の具体例についてさらに詳細に説明する。ここでは、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げる。また、ここでは、各接続点についての各信号端子とのアサイン優先度を評価値として用いる場合を例に挙げ、上述した実施の形態2の図10に示されるように各接続点についての各信号端子とのアサイン優先度が設定されたものとする。
【0055】
アサイン処理部12は、図10の各接続点の各信号端子に対するアサイン優先度に基づいて、図11に示されるように各接続点・信号端子の組合せについての優先度の合計を算出する。
【0056】
つぎに、アサイン処理部12は、接続点・信号端子の組のうち優先度合計の合計の最も高いものを抽出し、この抽出した接続点と信号端子の組をアサインとして決定する。たとえば、図11の場合には、信号端子1〜3のアサイン優先度合計の合計が最も大きくなる組合せを取り出すと、24,22,23となっており、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点G・信号端子2、接続点F・信号端子3となる。そして、この組合せがアサインとして決定されることになる。このようにして、決定されたアサイン結果を図13に示す。この図13に示されるように、図13では信号端子2−接続点Gのアサインと、信号端子3−接続点Fのアサインとが交差するような設計となっている。また、設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0057】
この実施の形態3の結果は、実施の形態2の結果とは、上述したように異なったものとなっている。この実施の形態3では、優先度合計の合計の最も高い組合せ、すなわち図11で優先度合計の合計が「68」となる信号端子・接続点の組の組合せを抽出しているのに対して、実施の形態2では、信号端子に定義された重要度の順に最も優先度合計の高いものを抽出している。このため、実施の形態2ではそれらの優先度合計の合計は67となっている。このように、実施の形態3では、設計領域全体でのアサインの効率性を基準にアサインを決定することを特徴とするものである。
【0058】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の2次元距離などを用いるようにしてもよい。2次元距離を用いる場合には、2次元距離の合計が最小となるようなアサインの組合せを選択することになる。
【0059】
この実施の形態3によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいて、アサイン処理部12が接続点・信号端子のすべての組合せについてのアサインの評価値合計を算出し、すべてのアサインについての評価値合計の合計が最大となる接続点・信号端子の組合せをアサインとして決定するようにしたので、分担設計された設計領域の信号端子間における最も効果的なアサインを決定することができる。
【0060】
実施の形態4.
この実施の形態4は、上述した実施の形態1の分担配線設計システムに、アサイン結果に基づいて実際に設計領域間に結線処理を行う機能をさらに備える分担配線設計システムについて説明する。
【0061】
図14は、この発明にかかる分担配線設計システムの実施の形態4の構成を示すブロック図である。分担配線設計システムは、実施の形態1の図1に示される分担配線設計システムにおいて、アサインに基づいて実際に結線を行う配線処理部15と、配線処理部15によって配線された結果を結線情報として格納する結線情報格納部16と、結線作業中に生じたアサイン情報の変更を行うアサイン変更処理部17とをさらに備えることを特徴とする。その他の構成要素については、実施の形態1の図1で説明したものと同一であるので、同一符号を付してその説明を省略している。
【0062】
配線処理部15は、アサイン情報を基にアサインされた各設計領域の信号端子と接続点との対を実際に結線し、結線した配線の形状などを結線情報として結線情報格納部16に格納する。また、配線処理部15は、アサイン変更モードとアサイン変更不可モードの2つのモードを有している。このモードは、結線作業中にアサインの変更が生じた場合に、アサインの変更を認めるか否かの切替えを行うためのものである。アサイン変更モードが選択された場合には、結線作業中にアサイン処理部12やアサイン変更処理部17の機能を呼び出して、アサインの変更や他の設計領域も含めた全体的なアサインを実行することが可能となる。一方、アサイン変更不可モードが選択された場合には、結線作業中でのアサインの変更を一切認めず、アサイン処理部12やアサイン変更処理部17が機能しない状態とし、アサインを行おうとするユーザに対してエラーメッセージを出力する。
【0063】
結線情報格納部16は、配線処理部15によってアサイン情報に基づいて実際に行われた配線についての配線形状などの結線情報を格納する。
【0064】
アサイン変更処理部17は、配線処理部15によって実際に行われた各設計領域と接続点との間の結線作業の結果、アサイン情報格納部11に格納されているアサイン情報に変更が生じた場合にその変更結果をアサイン情報格納部11に書き込む処理を行う。
【0065】
つぎに、分担配線設計システムにおける結線処理について、図15のフローチャートを参照しながら説明する。アサイン処理部12で各信号端子(または接続点)のアサインが決定されると、配線処理部15は、アサイン情報格納部11に格納されたアサイン情報に基づいて実際に各設計領域間の配線を行う作業に入る。まず、配線処理部15は、未結線のネットを検索する(ステップS41)。検索の結果、未結線のネットがない場合(ステップS42でNOの場合)には、結線するものがないのでここで処理が終了する。一方、未結線のネットが存在する場合(ステップS42でYESの場合)には、そのネットを選択し(ステップS43)、接続点を介して設計領域間の信号端子を実際に配線する結線作業を行う(ステップS44)。そして、その結果の結線の長さなどを含む結線情報を結線情報格納部16に格納する(ステップS45)。
【0066】
つぎに、配線処理部15は、結線の結果がアサイン情報格納部11に格納されているアサイン情報と異なるか否かを判断する(ステップS46)。結線結果がアサイン情報格納部11に格納されているアサイン情報と同じである場合(ステップS46でNOの場合)には、再びステップS41に戻って、処理が繰り返し行われる。一方、結線結果がアサイン情報格納部11に格納されているアサイン情報と異なる場合(ステップS46でYESの場合)には、現在の配線処理部15のモードがアサイン変更モードか否かを判断する(ステップS47)。
【0067】
配線処理部15のモードがアサイン変更モードである場合(ステップS47でESの場合)には、実際に設計領域間を結線した結線情報に基づいてアサインの変更を行うか、または新たにアサイン処理部12によってアサインの決定を行い(ステップS49)、アサイン変更処理部17はアサイン情報格納部11内の変更を行ったアサイン情報を変更し、またはアサイン処理部12は新たに決定を行ったアサインについてのアサイン情報をアサイン情報格納部11に格納する(ステップS50)。そして、再びステップS41から上述した処理が行われる。また、ステップS47で現在の配線処理部15のモードがアサイン変更モードでない場合(ステップS47でNOの場合)には、実際に設計領域間を結線した結線情報に基づいてアサイン情報の変更を行うことができないので、ユーザに対してエラーメッセージを表示して(ステップS48)、処理が終了する。
【0068】
なお、ステップS49で、アサイン処理部12によるアサインの変更を行う場合に、アサインの変更先が未定の場合には、対象信号端子を共通候補として持つ接続点を変更先の候補として挙げることができる。
【0069】
つぎに、この実施の形態4の分担配線設計システムを用いた結線処理の具体例をさらに詳細に説明する。図16は、アサインおよび結線を行う対象となる設計領域と接続点を模式的に示す図であり、図17は、設計領域と接続点の優先度を示す図であり、(a)、(b)は各設計領域の信号端子についてアサイン候補の接続点に対して設定されたアサイン優先度を示し、(c)はアサイン優先度の合計を示し、図18〜図19は、結線を変更する過程を示す模式図である。
【0070】
図16に示す設計領域1の信号端子1〜3と設計領域2の信号端子1〜3のそれぞれを、接続点A〜Cを介して結線する場合を説明する。まず、ユーザによって、図17(a)、(b)に示されるように、各信号端子についてアサイン候補となる接続点とのアサイン優先度が設定されると、実施の形態1に示される方法にしたがって、アサイン処理部12は各信号端子のアサイン候補を決定する。図17(c)は、(a)と(b)の設定から得られる各信号端子について接続点ごとに求められたアサイン優先度の合計の一覧を示すものであり、これより、接続点A,B,Cがそれぞれ信号端子1,2,3のアサインとして決定される。すなわち、図16に点線で結ばれた部分のようにアサインが決定される。そしてこのアサイン情報がアサイン情報格納部11に格納される。
【0071】
配線処理部15は、このようにして決定されたアサイン情報に基づいて実際に設計領域1と設計領域2との間の結線作業を行うが、以下の説明では、アサイン変更モードが選択された状態であるとする。この結線作業の段階で、図18に示されるように、信号端子1のアサインを、接続点Aから接続点Bに変更する要求が出されたとする。この変更によって、信号端子2は接続点B以外の別の接続点にアサインを変更する必要がある。ここで、アサイン処理部12は、未結線の信号端子として、図17(c)に示されるように重要度の高い信号端子2を最初に選択し、この信号端子2のアサインを決定する。図17(c)に示されるように、アサイン処理部12は、接続点A,Bを信号端子2のアサイン候補として抽出し、既に接続点Bが信号端子1と結線されているので、接続点Aを信号端子2のアサインと決定する。つぎに、アサイン処理部12は、未結線の信号端子として図17(c)に示されるようにつぎに重要度の高い信号端子3を選択し、この信号端子3のアサインを決定する。このとき、信号端子3は接続点Cとの優先度が最も高くなっているので、アサイン処理部12は、接続点Cを信号端子3のアサインと決定する。これによって、図19中に点線で示されるように、各設計領域の信号端子1,2,3はそれぞれ接続点B,A,Cを介して接続されるようになる。
【0072】
以上の処理において、アサインを変更する際に、アサイン変更によって割り込まれたアサインに対しては、割り込んできたアサインの元の接続点、またはそれ以外の接続点のうち割り込んできたアサインの元の接続点を共通候補として持つ信号端子で、かつその信号端子が現在アサインされている(変更前にアサインされていた)接続点が、割り込まれた信号の共通候補になっている信号端子を探し、入れ替えるようにしてもよい。
【0073】
図20は、アサイン変更によって割り込まれたアサインの変更方法を説明するための図である。図20(a)に示されるように信号端子1〜4と接続点A〜Dとがアサインされていたものが、信号端子1のアサインを図20(b)の点線で示されるように、接続点Aから接続点Bに変更したい場合について2つの例を挙げて説明する。
【0074】
最初の例として、接続点Aが信号端子2の共通候補に挙げられている場合について説明する。まず、信号端子1のアサインが接続点Aから接続点Bへとアサイン変更されると、割り込んできたアサインの元の接続点は、接続点Aとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子は、信号端子1,2となる。つぎに、信号端子1,2が現在アサインされている(変更前にアサインされていた)接続点はそれぞれ接続点A,Bである。これらの接続点のうち、割り込まれた信号端子2の共通候補として接続点Aが挙げられているので、信号端子2は接続点Aとアサインされることになる。このようにしてアサイン変更された結果が、図20(c)に示されている。
【0075】
つぎの例として、接続点Cが信号端子2の共通候補に挙げられており、接続点Aが信号端子3の共通候補として挙げられている場合について説明する。まず、信号端子1のアサインが接続点Aから接続点Bとアサインされると、割り込んできたアサインの元の接続点は、接続点Aとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子は、信号端子1,3となる。つぎに、信号端子1,3が現在アサインされている(変更前にアサインされていた)接続点はそれぞれ接続点A,Cである。これらの接続点のうち、割り込まれた信号端子2の共通候補として接続点Cが挙げられている。これらより、信号端子2は、接続点Cとアサインされることになる。
【0076】
このとき、信号端子3は、信号端子2によって割り込まれた状態となる。この場合、割り込んできたアサインの元の接続点、またはそれ以外の接続点のうち割り込んできたアサインの元の接続点は、接続点A,Bとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子1,3であり、割り込んできたアサインの元の接続点Bを共通候補として持つ信号端子はない。つぎに、信号端子1,3が現在アサインされている(変更前にアサインされていた)接続点は、それぞれ接続点A,Cである。これらの接続点のうち、割り込まれた信号端子3の共通候補として接続点Aが挙げられている。これらより、信号端子3は、接続点Aとアサインされることになる。このようにしてアサイン変更された結果が、図20(d)に示されている。
【0077】
以上のアサインの変更を行う場合において、入れ替え後の二つのアサインの優先度合計がなるべく高くなるものを選択するようにしてもよい。また、二つのアサインの優先度合計が複数ある場合には、信号端子の重要度のなるべく低いものを選択するようにしてもよい。
【0078】
なお、上述した説明では、実施の形態1で説明したアサイン処理部12を有する分担配線設計システムについて説明したが、実施の形態2または3で説明したアサイン処理部12を有するものであってもよい。
【0079】
たとえば、アサイン処理部12として実施の形態2で説明したものを用いる場合には、図17(c)に示されるように、すべての接続点・信号端子の組について優先度の合計を算出し、この中で既に結線された接続点と信号端子を除いた中で、優先度合計が高いものまたはなるべく優先度合計が高くなるものをアサインとして決定することができる。
【0080】
また、アサイン処理部12として実施の形態3で説明したものを用いる場合には、図17(c)に示されるように、すべての接続点・信号端子の組について優先度の合計を算出し、この中で既に結線された接続点と信号端子を除いた中で、優先度合計の合計が最も高くなるもの、またはなるべく優先度合計の合計が高くなるものをアサインとして決定することができる。
【0081】
さらに、上記の説明で、割り込んできたアサインの元の接続点を、入れ替え候補の対象から外して、アサインの変更または決定を行うこともできる。
【0082】
さらにまた、アサインの行われていない信号端子(または接続点)に対して、実際に結線を行ってアサインしながら、他の設計領域を含めてアサインすることも可能である。
【0083】
この実施の形態4によれば、アサイン情報と異なる結線を行った場合でアサイン変更モードでない場合にはユーザに対して警告を出し、アサイン変更モードである場合にはアサイン情報の変更を可能とする配線処理部15を備えるように分担設計配線システムを構成したので、間違った結線をユーザに知らせることができるとともに、結線時の状況に応じてアサイン情報を変更することもできるという効果を有する。
【0084】
なお、上述した実施の形態1〜4に示した方法を、これらの方法の処理手順が格納されたプログラムとして構成し、これらのプログラムを、パーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。
【0085】
【発明の効果】
以上説明したように、この発明によれば、ユーザによって設定された各設計領域の信号端子と接続点との間の評価値に基づいて、各信号端子と接続される接続点を決定するアサイン処理部と、アサイン結果に基づいて結線を行う配線処理部とを備えるように構成したので、分担して設計された複数の領域の共通する信号端子間を効率よくアサインし、分担して設計された複数の設計領域の共通する信号端子間の結線を効率よく行うことができるという効果を有する。
【図面の簡単な説明】
【図1】この発明の分担配線設計システムの実施の形態1の構成を示すブロック図である。
【図2】分担配線設計システムの動作処理を示すフローチャートである。
【図3】アサインを行う設計領域と接続点の配置を模式的に示す図である。
【図4】各設計領域の信号端子をアサインする接続点の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、(a)は設計領域1についての設定例を示す図であり、(b)は設計領域2についての設定例を示す図である。
【図5】信号端子ごとにまとめた各接続点の優先度合計を示す図である。
【図6】設計領域の信号端子と接続点とがアサインされた結果を模式的に示す図である。
【図7】各接続点をアサインする設計領域ごとの信号端子の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2についての設定例を示し、(c)は各信号端子間での重要度を示し、そして(d)は各接続点間での重要度を示している。
【図8】接続点ごとにまとめた各信号端子のアサインの優先度合計を示す図である。
【図9】分担配線設計システムのアサイン処理を示すフローチャートである。
【図10】各接続点をアサインする設計領域ごとの信号端子の候補とその優先度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2についての設定例を示している。
【図11】接続点ごとにまとめた各信号端子のアサインの優先度合計を示す図である。
【図12】分担配線設計システムのアサイン処理を示すフローチャートである。
【図13】設計領域の信号端子と接続点とがアサインされた結果を模式的に示す図である。
【図14】この発明の分担配線設計システムの実施の形態4の構成を示すブロック図である。
【図15】分担配線設計システムの結線処理のフローチャートである。
【図16】アサインおよび結線を行う対象となる設計領域と接続点を模式的に示す図である。
【図17】設計領域と接続点の優先度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2設定例を示し、そして(c)はアサイン優先度の合計を示している。
【図18】設計領域と接続点の結線状況を示す図である。
【図19】設計領域と接続点の結線状況を示す図である。
【図20】アサインの変更の方法を示す図であり、(a)はオリジナルのアサインを示す図であり、(b)は(a)の状態から変更したいアサインを例示する図であり、(c)はアサインの変更の一例を示す図であり、そして(d)はアサインの変更の他の例を示す図である。
【符号の説明】
11 アサイン情報格納部、12 アサイン処理部、13 入力部、14 表示部、15 配線処理部、16 結線情報格納部、17 アサイン変更処理部。
【発明の属する技術分野】
この発明は、LSI(Large−Scale Integration)設計とパッケージ設計などのように、それぞれ別個に設計された設計領域間の配線設計と、配線設計された結果に基づいて各設計領域間の結線を行う分担配線設計システムおよび分担配線設計方法に関するものである。
【0002】
【従来の技術】
半導体装置の設計においては、たとえばパッケージとLSIなどのように複数の設計領域に分割して分担設計し、その後に各設計領域間に設けられた接続点を介して、各設計領域間を配線することが多く行われている。この場合、接続点への各設計領域の信号端子のアサインや結線は、まず、ある一つの分割された設計領域内で先行して考えられ、その設計に合わせる形で、その後に他の分割された設計領域の領域間接続点への信号端子のアサインや結線を行うようにしていた。
【0003】
また、特許文献1には、入出力ピン列を有する位置の回路ブロックと他の回路ブロックとの間の配線における中継用端子位置の決定方法において、一の回路ブロックの入出力ピン列と平行な配線領域辺を設定し、この一の回路ブロックの入出力ピンから配線領域辺に降ろした垂線と配線領域辺との交点を中継用端子位置として決定し、一の回路ブロックから中継用端子位置までを直線で配線することが開示されている。これによって、一の回路ブロックがたとえばハードマクロなどのように規則的に配置された多数のピンを含む場合に、一の回路ブロックと中継用端子位置との間における配線の折れ曲がりや未結線などの配線混雑を解消している。
【0004】
【特許文献1】
特開平5−106050号公報(第2頁、第2〜4図)
【0005】
【発明が解決しようとする課題】
しかしながら、従来の分担設計による各設計領域間の配線設計では、一つの設計領域で先行的に接続点とのアサインを検討するだけであり、他の設計領域での事情を考慮したアサインとはなっていないという問題点があった。たとえば、一つの設計領域の信号端子と接続点との間で先行的にアサインがされたが、他の設計領域の対応する信号端子と接続点との間には障害物が存在するため、アサインできない場合には対応することができない。
【0006】
また、従来の分担設計による各設計領域間の配線設計では、アサインの変更を行うときも一つの設計領域内でのみ行われ、他の設計領域のことは考慮されていないために、アサインの変更を効率よく行うことができないという問題点もあった。たとえば、ある一つの設計領域の信号端子と接続点との間でアサインがなされ、他の設計領域の信号端子と接続点との間でアサインがなされた後に、他の設計領域内のみでアサインの変更がなされると、ある一つの設計領域の信号端子と接続点との間では配線障害を通るアサインとなってしまうという場合が存在する。
【0007】
さらに、特許文献1に開示されている端子位置の決定方法は、入出力ピン列を有する一の回路ブロックの入出力ピンの物理的位置に着目して、他の回路ブロックとの間の配線で使用される中継用接続端子の配置位置を決定するものであり、一の回路ブロックと他の回路ブロックとの間におけるアサインの変更には対応することができないという問題点があった。
【0008】
この発明は、上記に鑑みてなされたもので、複数の設計領域からある共通の領域間接続点へのアサインの設計と、アサインされた結果に基づいて各設計領域間の結線を効率よく行うことが可能な分担配線設計システムおよび分担配線設計方法を得ることを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる分担配線設計システムは、1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点をアサインする分担配線設計システムであって、前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す評価値を前記領域ごとに設定するための入力手段と、前記設定された評価値に基づいて前記信号端子と前記接続点のアサインを決定するアサイン処理手段と、を備えることを特徴とする。
【0010】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる分担配線設計システムおよび分担配線設計方法の好適な実施の形態を詳細に説明する。
【0011】
実施の形態1.
図1は、この発明にかかる分担配線設計システムの実施の形態1の構成を示すブロック図である。分担配線設計システムは、分担設計された各設計領域の信号端子と設計領域間の接続点との間の配線のアサインについての情報を格納するアサイン情報格納部11と、信号端子と接続点との間のアサインの処理を行うアサイン処理部12と、分担配線設計システムの使用者(以下、ユーザという)がアサインに必要な情報を入力するための入力部13と、ユーザに対してアサインを行う際に必要な情報を表示出力する表示部14とを有する。
【0012】
アサイン情報格納部11は、分担設計された各設計領域の信号端子と接続点との間で行われたアサインについてのアサイン情報を格納する。
【0013】
アサイン処理部12は、分担設計された各設計領域の信号端子と接続点との間に、ユーザによって設定された所定の評価値に基づいて最適なアサインを検討し、検討した結果をアサイン情報としてアサイン情報格納部11に格納する。所定の評価値として、各アサイン候補の優先度、各設計領域の信号端子や各接続点について信号の高速性などによって付される重要度、設計領域の各信号端子と各接続点との間の距離(2次元の距離)を用いることができる。
【0014】
入力部13は、ある複数の設計領域の信号端子間をアサインするために、ユーザが設計領域の信号端子や接続点の所定の評価値の設定を行う場合などに使用される。
【0015】
表示部14は、ある複数の設計領域間をアサインしやすいように、それぞれの設計領域や接続点を視覚化したり、アサイン作業中にユーザに対して必要なメッセージを表示したりする。
【0016】
つぎに、分担配線設計システムの動作処理について、図2のフローチャートを参照しながら説明する。なお、以下の説明では、図3に示されるように、それぞれ独立して分担設計された設計領域1の信号端子1〜3と設計領域2の信号端子1〜3とを(各設計領域の共通する信号端子同士を)、領域間の接続点A〜Hを介してアサインする場合について説明を行う。
【0017】
まず、アサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報が配線設計システムに読み込まれ、表示部14に表示される(ステップS1)。つぎに、ユーザによって、各設計領域について各信号端子(または接続点)にどの接続点(または信号端子)へアサインを行うかの検討が行われ、その検討結果が入力部13から入力される(ステップS2)。たとえば、図3に示されるように2つの設計領域間でアサインを実行する場合には、それぞれの領域について各信号端子(または接続点)をアサインする接続点(または信号端子)の候補が挙げられる。このとき挙げられる各信号端子(または接続点)をアサインする接続点(または信号端子)の候補は複数であってもよく、その場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間を順位付けして評価することが可能な所定の評価値、または各信号端子間や各接続点間の重要度が設定される。
【0018】
ユーザによるアサイン候補の設定が終了した後に、アサイン決定するために、アサイン処理部12は、アサインが未決定である信号端子(または接続点)を検索する(ステップS3)。検索の結果、アサインが未決定の信号端子(または接続点)がない場合(ステップS4でNOの場合)には、設計領域と接続点との間のすべてのアサインが決定されていることになるので、処理は終了する。一方、検索の結果、アサインが未決定の信号端子(または接続点)が存在する場合(ステップS4でYES)には、アサインが未決定の信号端子(または接続点)を選択する(ステップS5)。そして、この選択された信号端子(または接続点)に対して、各設計領域から共通のアサイン候補として挙げられている接続点(または信号端子)を抽出する(ステップS6)。
【0019】
つぎに、ステップS6で抽出された各設計領域から共通のアサイン候補が複数あるか否かが、アサイン処理部12によって判断され(ステップS7)、共通のアサイン候補が複数でない場合、すなわち他にアサイン候補がない場合(ステップS7でNOの場合)には、ステップS5で抽出されたアサイン候補がアサインとして決定される(ステップS8)。一方、共通のアサイン候補が複数ある場合(ステップS7でYESの場合)には、各信号端子(または接続点)に対して複数存在する共通のアサイン候補の接続点(または信号端子)のそれぞれについて各設計領域で設定された評価値を計算する(ステップS9)。
【0020】
そして、アサイン処理部12は、信号端子(または接続点)に対し、共通するアサイン候補のうち、最も優れた評価値を有するアサイン候補をアサインとして決定する(ステップS10)。
【0021】
その後またはステップS8の後に、アサイン処理部12は、各設計領域の信号端子(または接続点)に対して決定したアサインについてのアサイン情報をアサイン情報格納部11に格納し(ステップS11)、未決定のアサインがなくなるまで上記のステップS3〜S11の処理が繰り返し実行される。
【0022】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0023】
つぎに、この実施の形態1の分担配線設計システムを用いたアサイン処理の具体例をさらに詳細に説明する。
【0024】
(1)各設計領域の各信号端子について接続される可能性のある接続点とのアサイン優先度と、各信号端子間の重要度とを評価値として用いる場合
ここでは、各設計領域の各信号端子について、接続される可能性のある接続点とのアサイン優先度を評価値として用いる場合を、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げて説明する。
【0025】
図4は、各設計領域の信号端子をアサインする接続点の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、図4(a)、(b)はそれぞれ設計領域1、設計領域2についてのアサイン候補の優先度および信号端子間における重要度の設定例を示している。この図4では、図3に示される設計領域1,2の各信号端子をアサインする接続点の候補が、アサイン優先度を付けられて示されており、また、各信号端子間での重要度も示されている。ここで、アサイン優先度および重要度は、ともにその数値が大きいほど優先順位が高いことを表している。図4(a)には、たとえば、設計領域1の信号端子1をアサインする接続点の候補として接続点A〜Hまでが挙げられているが、この中では接続点Aとのアサインの優先度が最も高いことが示されている。同様に、設計領域1の信号端子2では接続点Bとの優先度が高く、そして信号端子3では接続点Cとの優先度が高くなっている。図4(b)でも同様に、設計領域2の信号端子1では接続点Fとのアサインの優先度が高く、信号端子2では接続点Gとのアサインの優先度が高く、そして信号端子3では接続点Hとのアサインの優先度が高くなっている。また、信号端子1〜3間の重要度は、信号端子2、信号端子3、信号端子1の順となっている。
【0026】
アサイン処理部12は、未決定のアサインが存在する場合には、この図4の各信号端子の各接続点に対するアサイン優先度に基づいて、ある接続点について各設計領域で設定された優先度の合計を算出する。すなわち、アサイン処理部12は、未決定の信号端子に対するアサイン候補である接続点A〜Hのそれぞれについて、設計領域1でのアサイン優先度と設計領域2でのアサイン優先度との合計を求める。図5は、ある接続点についての各設計領域における優先度を合計した結果を信号端子ごとにまとめた図を示している。たとえば、接続点Aの場合、図4から設計領域1のアサイン優先度は10であり、設計領域2のアサイン優先度は1であるので、その優先度合計は11となり、この演算結果が図5の信号端子1の接続点Aの部分に表示されている。
【0027】
そして、アサイン処理部12は、信号端子について共通するアサイン候補の接続点のうち最も優先度合計の高いものを選択し、この選択された接続点をアサインとして決定する。ここで、ある接続点が複数の信号端子にとって最高の優先度となる場合があるので、信号端子に重要度を設定し、この信号端子の重要度の順に信号端子を選択し、この選択した信号端子に対する接続点のアサインを決定することで、1つの接続点に複数の信号端子が設定されてしまうことを防止することができる。図5の例では、信号端子2,3,1の順に重要度が低くなっていくので、アサイン処理部12は、この順に信号端子を選択し、アサインの決定を行っていく。すなわち、信号端子2では、接続点Gとの優先度合計が最も高いので、接続点Gがアサインとして決定される。同様に、信号端子3のアサインとして接続点Hが決定され、信号端子1のアサインとして接続点Fが決定される。
【0028】
このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図3では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0029】
(2)各接続点について各信号端子とのアサイン優先度と、各信号端子間および各接続点間の重要度とを評価値として用いる場合
ここでは、各接続点について各信号端子とのアサイン優先度と、各信号端子間および各接続点間の重要度とを評価値として用いる場合を、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げて説明する。
【0030】
図7は、各接続点をアサインする設計領域ごとの信号端子の候補とその優先度、および各信号端子間における重要度の設定例を示す図である。この図7(a)、(b)には、それぞれ図3に示される接続点をアサインする設計領域1,2の信号端子の候補が、アサイン優先度を付されて示されている。ここで、アサイン優先度は、その数値が大きいほど優先順位が高いことを表している。たとえば、図7(a)の接続点Aについては、信号端子1,2,3の優先度はそれぞれ10,9,8であり、この中では信号端子1とのアサイン優先度が最も高いことが示されている。図7(c)は、各信号端子間での重要度が示されており、その数値が大きいほど重要度が高いことを示している。すなわち、この図7(c)では、信号端子1,3,2の順に重要度が低くなっていくことを示している。そして、図7(d)は、各接続点間での重要度が示されており、その数値が大きいほど重要度が高いことを示している。すなわち、この図7(d)では、接続点E,F,G,・・・,Dの順に重要度が低くなっていくことを示している。
【0031】
アサイン処理部12は、未決定のアサインが存在するか否かを判定し、存在する場合にはアサインを決定する処理を行う。ここでは、アサインが一つも決定されていない状態であるとすると、図7(d)から重要度の最も高い接続点Eからアサインが決定される。アサイン処理部12は、接続点Eに対して各領域から共通する信号端子の候補を図7(a)、(b)から抽出し、抽出した各接続領域の信号端子のアサイン優先度の合計を計算する。すなわち、接続点Eに対して設計領域1の信号端子1〜3に設定されたアサイン優先度と設計領域2の信号端子1〜3に設定されたアサイン優先度との合計を求める。図8の接続点Eの欄に示される各信号端子の優先度の合計がアサイン処理部12によって計算される。
【0032】
つぎに、アサイン処理部12は、接続点について共通するアサイン候補の信号端子のうち最も優先度合計の高いものを選択し、この選択された信号端子をアサインとして決定する。接続点Eの場合、信号端子1,2の優先度合計が最も高いので、アサイン処理部12はさらに図7(c)の信号端子間の重要度を参照して、信号端子1を接続点Eのアサインとして決定する。
【0033】
その後、アサイン処理部12は、未決定のアサインが存在する場合には、上述した処理を行い、未決定のアサインがなくなるまで同じ処理を実行する。この例の場合には、図7(d)からつぎに重要度の高い接続点Fについてのアサインを決定する処理が実行される。図8から、接続点Fに対して各設計領域の信号端子の優先度合計が最も高いのは信号端子2であるので、この信号端子2が接続点Fのアサインとして決定される。同様にして、接続点Gについてのアサインを決定する処理が実行され、接続端子3が接続点Gのアサインとして決定される。
【0034】
このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図3では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0035】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の距離(以下、2次元距離という)などを用いるようにしてもよい。2次元距離を評価値として用いる場合には、ステップS9において各接続点ついて各領域での2次元距離を合計し、ステップS10において、2次元距離の合計が最小のアサイン候補をアサインとして決定する。
【0036】
この実施の形態1によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいてアサイン処理部12が最適なアサインを決定するようにしたので、分担設計によって相互に関連なく設計された設計領域間の共通する信号端子間を、障害物などを回避して最も効率よく結ぶアサインを決定することができる。
【0037】
実施の形態2.
この実施の形態2では、アサイン処理部12が、信号端子・接続点の組について各設計領域から評価値の合計を予め計算し、その評価値合計の中で最も評価値合計の優れたものをアサインとして決定する場合を説明する。なお、この実施の形態2における分担配線設計システムの構成は、上述した実施の形態1の図1と同一であるのでその説明を省略し、アサイン処理についてのみ説明する。
【0038】
図9は、この実施の形態2の分担配線設計システムのアサイン処理を示すフローチャートである。
【0039】
まず、実施の形態1の図2で説明したステップS1〜S2と同じ処理を行って、分担配線設計システムにアサインの検討結果が入力される(ステップS21〜S22)。すなわち、分担配線設計システムに読み込まれて表示されたアサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報に基づいて、ユーザによって各信号端子(接続点)にどの接続点(信号端子)へアサインするかの検討結果が入力部13から入力される。各信号端子(接続点)に複数のアサイン候補がある場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間や各信号端子間、各接続点間を順位付けして評価することが可能な所定の評価値が設定されるようにしてもよい。
【0040】
つぎに、アサイン処理部12は、各接続点・信号端子を組とするすべての組合せについて、設定された評価値の合計を計算する(ステップS23)。その後、アサイン処理部12は、計算した接続点・信号端子の組の中から、評価値が最も優れている接続点・信号端子の組を抽出し(ステップS24)、抽出した接続点・信号端子の組をアサインとして決定し(ステップS25)、そのアサインに関するアサイン情報をアサイン情報格納部11に格納する(ステップS26)。そして、アサイン処理部12は、すべての信号端子をアサインしたか否かを判定し(ステップS27)、決定されていないアサインがある場合(ステップS27でNOの場合)には、ステップS24に戻り上述した工程が繰り返される。一方、すべての信号端子がアサインされた場合(ステップS27でYESの場合)には、決定すべきアサインはないので、アサイン処理部12は処理を終了する。
【0041】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0042】
つぎに、この実施の形態2の分担設計配線装置を用いたアサイン処理の具体例についてさらに詳細に説明する。ここでは、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げる。また、ここでは、各接続点についての各信号端子とのアサイン優先度を評価値として用いる場合を例に挙げる。
【0043】
図10は、各接続点をアサインする設計領域ごとの信号端子の候補とその優先度の設定例を示す図である。この図10(a)、(b)には、それぞれ図3に示される接続点をアサインする設計領域1,2の信号端子の候補が、アサイン優先度を付されて示されている。ここで、アサイン優先度は、その値が大きいほど優先度が高いことを表している。
【0044】
この図10の各接続点の各信号端子に対するアサイン優先度に基づいて、アサイン処理部12は、各接続点・信号端子の組合せについての優先度の合計を算出する。すなわち、アサイン処理部12は、各接続点に対して設計領域1の信号端子1〜3に設定されたアサイン優先度と設計領域2の信号端子1〜3に設定されたアサイン優先度との合計を求める。このアサイン優先度の合計を求めたものが図11である。
【0045】
つぎに、アサイン処理部12は、接続点・信号端子の組のうち最も優先度合計の高いものを抽出し、この抽出した接続点と信号端子の組をアサインとして決定する。たとえば、図11の場合には、アサイン優先度の合計が最も大きな数値を順に取り出すと、24,23,22となっており、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点F・信号端子2、接続点F・信号端子3となり、信号端子2,3が接続点Fのアサイン候補となり重なってしまう。この場合には、信号端子間の重要度が設定されていないので、たとえば、信号端子間の重要度が設定されていないときには信号端子1,2,3の順番にアサインを決定するという規則がアサイン処理部12に設定されている場合には、アサイン優先度の合計が最も大きな数値を上記の規則にしたがって抽出すると、24,23,20となり、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点F・信号端子2、接続点G・信号端子3となる。そして、この組合せがアサインとして決定されることになる。このようにして、決定されたアサイン結果を図6に示す。この図6に示されるように、図2では設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0046】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の2次元距離などを用いるようにしてもよい。2次元距離を用いる場合には、2次元距離の合計が最小となるようなアサインの組合せを選択することになる。
【0047】
また、上述した説明では、接続点に対して信号端子のアサイン候補を挙げる場合を示したが、信号端子に対して接続点のアサイン候補を挙げてもよい。この場合には、評価値(優先度や2次元距離)合計が複数ある場合に、信号端子や接続点に重要度を付してこの重要度にしたがってアサインを決定したり、他の信号端子からの評価値合計が低いもの(たとえば、評価値として優先度を使用する場合は、優先度合計が最も少ないもの、また評価値として2次元距離を使用する場合は、2次元距離が最も大きいもの)をアサインとして決定したりするようにしてもよい。
【0048】
この実施の形態2によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいて、アサイン処理部12が接続点・信号端子のすべての組合せについてのアサインの評価値の合計を算出し、評価値の合計が最大となる接続点・信号端子の組から順にアサインとして決定するようにしたので、単純な規則によって効率よくアサインを決定することができる。
【0049】
実施の形態3.
この実施の形態3では、アサイン処理部12が、信号端子・接続点の組について各設計領域から評価値の合計を予め計算し、その評価値合計の平均値が最も高くなるような信号端子・接続点の組を選択することを特徴とする。なお、この実施の形態3における分担配線設計システムの構成は、上述した実施の形態1の図1と同一であるのでその説明を省略し、アサイン処理についてのみ説明する。
【0050】
図12は、この実施の形態3の分担配線設計システムのアサイン処理を示すフローチャートである。
【0051】
まず、実施の形態1の図2で説明したステップS1〜S2と同じ処理を行って、分担配線設計システムにアサインの検討結果が入力される(ステップS31〜S32)。すなわち、分担配線設計システムに読み込まれて表示されたアサインする設計領域の信号端子の位置や内部の障害の位置などを含む設計情報に基づいて、ユーザによって各信号端子(接続点)にどの接続点(信号端子)へアサインするかの検討結果が入力部13から入力される。各信号端子(接続点)に複数のアサイン候補がある場合には、後の工程でアサイン処理部12が択一的にアサインを決定することができるように、各アサイン候補間や各信号端子間、各接続点間を順位付けして評価することが可能な所定の評価値が設定されるようにしてもよい。
【0052】
つぎに、アサイン処理部12は、各接続点・信号端子を組とするすべての組合せについて、設定された評価値の合計を計算する(ステップS33)。その後、アサイン処理部12は、各接続点・信号端子の組み合わせのうち評価値を最大にする組み合わせを選択する(ステップS34)。また、これは各接続点・信号端子の組み合わせのうち評価値の平均値が最大となる組み合わせを選択するものでもある。このような条件のアサイン候補をアサインとして設定した後(ステップS35)、アサイン処理部12は、このアサインについてのアサイン情報をアサイン情報格納部11に格納し(ステップS36)、アサインを決定する処理が終了する。
【0053】
このようにして、複数の設計領域の各信号端子間を、接続点を介してアサインすることが可能となる。
【0054】
つぎに、この実施の形態3の分担設計配線システムを用いたアサイン処理の具体例についてさらに詳細に説明する。ここでは、図3に示される設計領域1の信号端子1〜3を、設計領域2の信号端子1〜3のそれぞれと接続点A〜Hのいずれかを介してアサインする場合を例に挙げる。また、ここでは、各接続点についての各信号端子とのアサイン優先度を評価値として用いる場合を例に挙げ、上述した実施の形態2の図10に示されるように各接続点についての各信号端子とのアサイン優先度が設定されたものとする。
【0055】
アサイン処理部12は、図10の各接続点の各信号端子に対するアサイン優先度に基づいて、図11に示されるように各接続点・信号端子の組合せについての優先度の合計を算出する。
【0056】
つぎに、アサイン処理部12は、接続点・信号端子の組のうち優先度合計の合計の最も高いものを抽出し、この抽出した接続点と信号端子の組をアサインとして決定する。たとえば、図11の場合には、信号端子1〜3のアサイン優先度合計の合計が最も大きくなる組合せを取り出すと、24,22,23となっており、このアサイン優先度の合計を有する接続点・信号端子の組合せは、それぞれ接続点E・信号端子1、接続点G・信号端子2、接続点F・信号端子3となる。そして、この組合せがアサインとして決定されることになる。このようにして、決定されたアサイン結果を図13に示す。この図13に示されるように、図13では信号端子2−接続点Gのアサインと、信号端子3−接続点Fのアサインとが交差するような設計となっている。また、設計領域2の信号端子1の左側に障害物が存在するが、設計領域2の信号端子1〜3は、その障害物を避けて設計領域1の信号端子1〜3とそれぞれアサインされていることが示されている。
【0057】
この実施の形態3の結果は、実施の形態2の結果とは、上述したように異なったものとなっている。この実施の形態3では、優先度合計の合計の最も高い組合せ、すなわち図11で優先度合計の合計が「68」となる信号端子・接続点の組の組合せを抽出しているのに対して、実施の形態2では、信号端子に定義された重要度の順に最も優先度合計の高いものを抽出している。このため、実施の形態2ではそれらの優先度合計の合計は67となっている。このように、実施の形態3では、設計領域全体でのアサインの効率性を基準にアサインを決定することを特徴とするものである。
【0058】
なお、上述した説明では、評価値の具体例として、各信号端子に対して、接続点とのアサインに関する優先度を用いる場合を説明したが、各信号端子と各接続点との間の2次元距離などを用いるようにしてもよい。2次元距離を用いる場合には、2次元距離の合計が最小となるようなアサインの組合せを選択することになる。
【0059】
この実施の形態3によれば、ユーザによって設定された設計領域の信号端子と接続点とを結ぶアサインの評価値に基づいて、アサイン処理部12が接続点・信号端子のすべての組合せについてのアサインの評価値合計を算出し、すべてのアサインについての評価値合計の合計が最大となる接続点・信号端子の組合せをアサインとして決定するようにしたので、分担設計された設計領域の信号端子間における最も効果的なアサインを決定することができる。
【0060】
実施の形態4.
この実施の形態4は、上述した実施の形態1の分担配線設計システムに、アサイン結果に基づいて実際に設計領域間に結線処理を行う機能をさらに備える分担配線設計システムについて説明する。
【0061】
図14は、この発明にかかる分担配線設計システムの実施の形態4の構成を示すブロック図である。分担配線設計システムは、実施の形態1の図1に示される分担配線設計システムにおいて、アサインに基づいて実際に結線を行う配線処理部15と、配線処理部15によって配線された結果を結線情報として格納する結線情報格納部16と、結線作業中に生じたアサイン情報の変更を行うアサイン変更処理部17とをさらに備えることを特徴とする。その他の構成要素については、実施の形態1の図1で説明したものと同一であるので、同一符号を付してその説明を省略している。
【0062】
配線処理部15は、アサイン情報を基にアサインされた各設計領域の信号端子と接続点との対を実際に結線し、結線した配線の形状などを結線情報として結線情報格納部16に格納する。また、配線処理部15は、アサイン変更モードとアサイン変更不可モードの2つのモードを有している。このモードは、結線作業中にアサインの変更が生じた場合に、アサインの変更を認めるか否かの切替えを行うためのものである。アサイン変更モードが選択された場合には、結線作業中にアサイン処理部12やアサイン変更処理部17の機能を呼び出して、アサインの変更や他の設計領域も含めた全体的なアサインを実行することが可能となる。一方、アサイン変更不可モードが選択された場合には、結線作業中でのアサインの変更を一切認めず、アサイン処理部12やアサイン変更処理部17が機能しない状態とし、アサインを行おうとするユーザに対してエラーメッセージを出力する。
【0063】
結線情報格納部16は、配線処理部15によってアサイン情報に基づいて実際に行われた配線についての配線形状などの結線情報を格納する。
【0064】
アサイン変更処理部17は、配線処理部15によって実際に行われた各設計領域と接続点との間の結線作業の結果、アサイン情報格納部11に格納されているアサイン情報に変更が生じた場合にその変更結果をアサイン情報格納部11に書き込む処理を行う。
【0065】
つぎに、分担配線設計システムにおける結線処理について、図15のフローチャートを参照しながら説明する。アサイン処理部12で各信号端子(または接続点)のアサインが決定されると、配線処理部15は、アサイン情報格納部11に格納されたアサイン情報に基づいて実際に各設計領域間の配線を行う作業に入る。まず、配線処理部15は、未結線のネットを検索する(ステップS41)。検索の結果、未結線のネットがない場合(ステップS42でNOの場合)には、結線するものがないのでここで処理が終了する。一方、未結線のネットが存在する場合(ステップS42でYESの場合)には、そのネットを選択し(ステップS43)、接続点を介して設計領域間の信号端子を実際に配線する結線作業を行う(ステップS44)。そして、その結果の結線の長さなどを含む結線情報を結線情報格納部16に格納する(ステップS45)。
【0066】
つぎに、配線処理部15は、結線の結果がアサイン情報格納部11に格納されているアサイン情報と異なるか否かを判断する(ステップS46)。結線結果がアサイン情報格納部11に格納されているアサイン情報と同じである場合(ステップS46でNOの場合)には、再びステップS41に戻って、処理が繰り返し行われる。一方、結線結果がアサイン情報格納部11に格納されているアサイン情報と異なる場合(ステップS46でYESの場合)には、現在の配線処理部15のモードがアサイン変更モードか否かを判断する(ステップS47)。
【0067】
配線処理部15のモードがアサイン変更モードである場合(ステップS47でESの場合)には、実際に設計領域間を結線した結線情報に基づいてアサインの変更を行うか、または新たにアサイン処理部12によってアサインの決定を行い(ステップS49)、アサイン変更処理部17はアサイン情報格納部11内の変更を行ったアサイン情報を変更し、またはアサイン処理部12は新たに決定を行ったアサインについてのアサイン情報をアサイン情報格納部11に格納する(ステップS50)。そして、再びステップS41から上述した処理が行われる。また、ステップS47で現在の配線処理部15のモードがアサイン変更モードでない場合(ステップS47でNOの場合)には、実際に設計領域間を結線した結線情報に基づいてアサイン情報の変更を行うことができないので、ユーザに対してエラーメッセージを表示して(ステップS48)、処理が終了する。
【0068】
なお、ステップS49で、アサイン処理部12によるアサインの変更を行う場合に、アサインの変更先が未定の場合には、対象信号端子を共通候補として持つ接続点を変更先の候補として挙げることができる。
【0069】
つぎに、この実施の形態4の分担配線設計システムを用いた結線処理の具体例をさらに詳細に説明する。図16は、アサインおよび結線を行う対象となる設計領域と接続点を模式的に示す図であり、図17は、設計領域と接続点の優先度を示す図であり、(a)、(b)は各設計領域の信号端子についてアサイン候補の接続点に対して設定されたアサイン優先度を示し、(c)はアサイン優先度の合計を示し、図18〜図19は、結線を変更する過程を示す模式図である。
【0070】
図16に示す設計領域1の信号端子1〜3と設計領域2の信号端子1〜3のそれぞれを、接続点A〜Cを介して結線する場合を説明する。まず、ユーザによって、図17(a)、(b)に示されるように、各信号端子についてアサイン候補となる接続点とのアサイン優先度が設定されると、実施の形態1に示される方法にしたがって、アサイン処理部12は各信号端子のアサイン候補を決定する。図17(c)は、(a)と(b)の設定から得られる各信号端子について接続点ごとに求められたアサイン優先度の合計の一覧を示すものであり、これより、接続点A,B,Cがそれぞれ信号端子1,2,3のアサインとして決定される。すなわち、図16に点線で結ばれた部分のようにアサインが決定される。そしてこのアサイン情報がアサイン情報格納部11に格納される。
【0071】
配線処理部15は、このようにして決定されたアサイン情報に基づいて実際に設計領域1と設計領域2との間の結線作業を行うが、以下の説明では、アサイン変更モードが選択された状態であるとする。この結線作業の段階で、図18に示されるように、信号端子1のアサインを、接続点Aから接続点Bに変更する要求が出されたとする。この変更によって、信号端子2は接続点B以外の別の接続点にアサインを変更する必要がある。ここで、アサイン処理部12は、未結線の信号端子として、図17(c)に示されるように重要度の高い信号端子2を最初に選択し、この信号端子2のアサインを決定する。図17(c)に示されるように、アサイン処理部12は、接続点A,Bを信号端子2のアサイン候補として抽出し、既に接続点Bが信号端子1と結線されているので、接続点Aを信号端子2のアサインと決定する。つぎに、アサイン処理部12は、未結線の信号端子として図17(c)に示されるようにつぎに重要度の高い信号端子3を選択し、この信号端子3のアサインを決定する。このとき、信号端子3は接続点Cとの優先度が最も高くなっているので、アサイン処理部12は、接続点Cを信号端子3のアサインと決定する。これによって、図19中に点線で示されるように、各設計領域の信号端子1,2,3はそれぞれ接続点B,A,Cを介して接続されるようになる。
【0072】
以上の処理において、アサインを変更する際に、アサイン変更によって割り込まれたアサインに対しては、割り込んできたアサインの元の接続点、またはそれ以外の接続点のうち割り込んできたアサインの元の接続点を共通候補として持つ信号端子で、かつその信号端子が現在アサインされている(変更前にアサインされていた)接続点が、割り込まれた信号の共通候補になっている信号端子を探し、入れ替えるようにしてもよい。
【0073】
図20は、アサイン変更によって割り込まれたアサインの変更方法を説明するための図である。図20(a)に示されるように信号端子1〜4と接続点A〜Dとがアサインされていたものが、信号端子1のアサインを図20(b)の点線で示されるように、接続点Aから接続点Bに変更したい場合について2つの例を挙げて説明する。
【0074】
最初の例として、接続点Aが信号端子2の共通候補に挙げられている場合について説明する。まず、信号端子1のアサインが接続点Aから接続点Bへとアサイン変更されると、割り込んできたアサインの元の接続点は、接続点Aとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子は、信号端子1,2となる。つぎに、信号端子1,2が現在アサインされている(変更前にアサインされていた)接続点はそれぞれ接続点A,Bである。これらの接続点のうち、割り込まれた信号端子2の共通候補として接続点Aが挙げられているので、信号端子2は接続点Aとアサインされることになる。このようにしてアサイン変更された結果が、図20(c)に示されている。
【0075】
つぎの例として、接続点Cが信号端子2の共通候補に挙げられており、接続点Aが信号端子3の共通候補として挙げられている場合について説明する。まず、信号端子1のアサインが接続点Aから接続点Bとアサインされると、割り込んできたアサインの元の接続点は、接続点Aとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子は、信号端子1,3となる。つぎに、信号端子1,3が現在アサインされている(変更前にアサインされていた)接続点はそれぞれ接続点A,Cである。これらの接続点のうち、割り込まれた信号端子2の共通候補として接続点Cが挙げられている。これらより、信号端子2は、接続点Cとアサインされることになる。
【0076】
このとき、信号端子3は、信号端子2によって割り込まれた状態となる。この場合、割り込んできたアサインの元の接続点、またはそれ以外の接続点のうち割り込んできたアサインの元の接続点は、接続点A,Bとなる。この割り込んできたアサインの元の接続点Aを共通候補として持つ信号端子1,3であり、割り込んできたアサインの元の接続点Bを共通候補として持つ信号端子はない。つぎに、信号端子1,3が現在アサインされている(変更前にアサインされていた)接続点は、それぞれ接続点A,Cである。これらの接続点のうち、割り込まれた信号端子3の共通候補として接続点Aが挙げられている。これらより、信号端子3は、接続点Aとアサインされることになる。このようにしてアサイン変更された結果が、図20(d)に示されている。
【0077】
以上のアサインの変更を行う場合において、入れ替え後の二つのアサインの優先度合計がなるべく高くなるものを選択するようにしてもよい。また、二つのアサインの優先度合計が複数ある場合には、信号端子の重要度のなるべく低いものを選択するようにしてもよい。
【0078】
なお、上述した説明では、実施の形態1で説明したアサイン処理部12を有する分担配線設計システムについて説明したが、実施の形態2または3で説明したアサイン処理部12を有するものであってもよい。
【0079】
たとえば、アサイン処理部12として実施の形態2で説明したものを用いる場合には、図17(c)に示されるように、すべての接続点・信号端子の組について優先度の合計を算出し、この中で既に結線された接続点と信号端子を除いた中で、優先度合計が高いものまたはなるべく優先度合計が高くなるものをアサインとして決定することができる。
【0080】
また、アサイン処理部12として実施の形態3で説明したものを用いる場合には、図17(c)に示されるように、すべての接続点・信号端子の組について優先度の合計を算出し、この中で既に結線された接続点と信号端子を除いた中で、優先度合計の合計が最も高くなるもの、またはなるべく優先度合計の合計が高くなるものをアサインとして決定することができる。
【0081】
さらに、上記の説明で、割り込んできたアサインの元の接続点を、入れ替え候補の対象から外して、アサインの変更または決定を行うこともできる。
【0082】
さらにまた、アサインの行われていない信号端子(または接続点)に対して、実際に結線を行ってアサインしながら、他の設計領域を含めてアサインすることも可能である。
【0083】
この実施の形態4によれば、アサイン情報と異なる結線を行った場合でアサイン変更モードでない場合にはユーザに対して警告を出し、アサイン変更モードである場合にはアサイン情報の変更を可能とする配線処理部15を備えるように分担設計配線システムを構成したので、間違った結線をユーザに知らせることができるとともに、結線時の状況に応じてアサイン情報を変更することもできるという効果を有する。
【0084】
なお、上述した実施の形態1〜4に示した方法を、これらの方法の処理手順が格納されたプログラムとして構成し、これらのプログラムを、パーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。
【0085】
【発明の効果】
以上説明したように、この発明によれば、ユーザによって設定された各設計領域の信号端子と接続点との間の評価値に基づいて、各信号端子と接続される接続点を決定するアサイン処理部と、アサイン結果に基づいて結線を行う配線処理部とを備えるように構成したので、分担して設計された複数の領域の共通する信号端子間を効率よくアサインし、分担して設計された複数の設計領域の共通する信号端子間の結線を効率よく行うことができるという効果を有する。
【図面の簡単な説明】
【図1】この発明の分担配線設計システムの実施の形態1の構成を示すブロック図である。
【図2】分担配線設計システムの動作処理を示すフローチャートである。
【図3】アサインを行う設計領域と接続点の配置を模式的に示す図である。
【図4】各設計領域の信号端子をアサインする接続点の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、(a)は設計領域1についての設定例を示す図であり、(b)は設計領域2についての設定例を示す図である。
【図5】信号端子ごとにまとめた各接続点の優先度合計を示す図である。
【図6】設計領域の信号端子と接続点とがアサインされた結果を模式的に示す図である。
【図7】各接続点をアサインする設計領域ごとの信号端子の候補とその優先度、および各信号端子間における重要度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2についての設定例を示し、(c)は各信号端子間での重要度を示し、そして(d)は各接続点間での重要度を示している。
【図8】接続点ごとにまとめた各信号端子のアサインの優先度合計を示す図である。
【図9】分担配線設計システムのアサイン処理を示すフローチャートである。
【図10】各接続点をアサインする設計領域ごとの信号端子の候補とその優先度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2についての設定例を示している。
【図11】接続点ごとにまとめた各信号端子のアサインの優先度合計を示す図である。
【図12】分担配線設計システムのアサイン処理を示すフローチャートである。
【図13】設計領域の信号端子と接続点とがアサインされた結果を模式的に示す図である。
【図14】この発明の分担配線設計システムの実施の形態4の構成を示すブロック図である。
【図15】分担配線設計システムの結線処理のフローチャートである。
【図16】アサインおよび結線を行う対象となる設計領域と接続点を模式的に示す図である。
【図17】設計領域と接続点の優先度の設定例を示す図であり、(a)は設計領域1についての設定例を示し、(b)は設計領域2設定例を示し、そして(c)はアサイン優先度の合計を示している。
【図18】設計領域と接続点の結線状況を示す図である。
【図19】設計領域と接続点の結線状況を示す図である。
【図20】アサインの変更の方法を示す図であり、(a)はオリジナルのアサインを示す図であり、(b)は(a)の状態から変更したいアサインを例示する図であり、(c)はアサインの変更の一例を示す図であり、そして(d)はアサインの変更の他の例を示す図である。
【符号の説明】
11 アサイン情報格納部、12 アサイン処理部、13 入力部、14 表示部、15 配線処理部、16 結線情報格納部、17 アサイン変更処理部。
Claims (20)
- 1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点をアサインする分担配線設計システムであって、
前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す評価値を前記領域ごとに設定するための入力手段と、
前記設定された評価値に基づいて前記信号端子と前記接続点のアサインを決定するアサイン処理手段と、
を備えることを特徴とする分担配線設計システム。 - 前記アサイン処理手段は、アサイン未決定の信号端子が存在する場合に、前記アサイン未決定の信号端子のアサイン候補の接続点に設定された前記各領域の評価値を合計し、最良の評価値合計を有する前記接続点を前記信号端子のアサインとして決定することを特徴とする請求項1に記載の分担配線設計システム。
- 前記入力手段で、前記接続点間の重要度がさらに設定され、
前記アサイン処理手段は、アサイン未決定の信号端子が存在する場合に、アサインされていない前記設定された重要度の最も高い接続点を抽出し、該接続点のアサイン候補の前記各領域の信号端子に設定された評価値を合計し、最良の評価値合計を有する前記信号端子を前記接続点のアサインとして決定することを特徴とする請求項1に記載の分担配線設計システム。 - 前記アサイン処理手段は、前記信号端子と前記接続点の各組み合わせに対して設定された前記各領域の評価値を合計し、該評価値合計が最良となる前記信号端子と前記接続点の組み合わせから順にアサインとして決定することを特徴とする請求項1に記載の分担配線設計システム。
- 前記アサイン処理手段は、前記信号端子と前記接続点の各組み合わせに対して設定された前記各領域の評価値を合計し、該評価値合計の合計が最良となる前記信号端子と前記接続点のアサイン候補の組み合わせをアサインとして決定することを特徴とする請求項1に記載の分担配線設計システム。
- 前記入力手段で、前記信号端子間の重要度または前記接続点間の重要度がさらに設定され、
前記アサイン処理手段は、前記評価値合計が同一となるアサイン候補が複数存在する場合に、前記信号端子間の重要度または前記接続点間の重要度の高いアサイン候補をアサインとして決定することを特徴とする請求項4または5に記載の分担配線設計システム。 - 前記アサイン処理手段は、前記信号端子に対して前記評価値合計が同一となる接続点のアサイン候補が複数存在する場合に、前記接続点に関し、他の信号端子からの評価値合計が最も少ない接続点を前記信号端子のアサインとして決定することを特徴とする請求項4または5に記載の分担配線設計システム。
- 前記評価値は、前記アサイン候補間の順位を表す優先度または前記アサイン候補である前記信号端子と前記接続点との間の距離であることを特徴とする請求項1〜7のいずれか1つに記載の分担配線設計システム。
- 前記アサイン処理手段によって決定された前記信号端子と前記接続点の間のアサインについてのアサイン情報を格納するアサイン情報格納部をさらに備えることを特徴とする請求項1〜8のいずれか1つに記載の分担配線設計システム。
- 前記アサイン処理手段によって決定されたアサインに基づいて、前記複数の領域間の共通する信号端子を、前記接続点を介して結線する配線処理手段をさらに備えることを特徴とする請求項1〜8のいずれか1つに記載の分担配線設計システム。
- 前記アサイン情報格納部に格納されたアサイン情報に基づいて、前記複数の領域間の共通する信号端子を、前記接続点を介して結線する結線処理手段をさらに備えることを特徴とする請求項9に記載の分担配線設計システム。
- 前記アサイン処理手段によって決定されたアサインの一部が変更された場合に、前記変更された一部のアサインに基づいて前記信号端子と前記接続点のアサインを変更するアサイン変更手段をさらに備えることを特徴とする請求項1〜11のいずれか1つに記載の分担配線設計システム。
- 前記アサイン変更手段は、前記アサインの変更によって割り込んできたアサインの元の接続点またはそれ以外の接続点のうち割り込んできたアサインの元の接続点を共通候補として有する信号端子を抽出し、この信号端子が前記アサインの変更前にアサインされていた接続点を抽出し、この抽出された接続点のうち前記アサインの変更によって割り込まれた信号端子の共通候補になっている接続点を、前記アサインの変更によって割り込まれた信号端子のアサインとして決定することを特徴とする請求項12に記載の分担配線設計システム。
- 1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点とのアサインを決定する分担配線設計方法であって、
前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す評価値と、前記信号端子間の重要度とが前記領域ごとに設定される設定工程と、
アサイン未決定の信号端子が存在するか否かを検索する未決定アサイン検索工程と、
前記アサイン未決定の信号端子が存在する場合に、アサインされていない前記設定された重要度の最も高い信号端子のアサイン候補である前記接続点に設定された評価値を合計し、最良の評価値合計を有する前記接続点を前記信号端子のアサインとして決定するアサイン決定工程と、
を含むことを特徴とする分担配線設計方法。 - 1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点とのアサインを決定する分担配線設計方法であって、
前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す前記領域ごとの評価値と、前記信号端子間の重要度または前記接続点間の重要度とが設定される設定工程と、
前記信号端子と前記接続点の各組み合わせに対して、設定された前記各領域の評価値を合計する評価値合計工程と、
前記信号端子または前記接続点に設定された重要度の順に、前記評価値合計が最良となる前記信号端子と前記接続点のアサイン候補の組み合わせをアサインとして決定するアサイン決定工程と、
を含むことを特徴とする分担配線設計方法。 - 前記アサイン決定工程は、前記信号端子に対して、前記評価値合計が同一となる接続点のアサイン候補が複数存在する場合に、前記接続点に関し、他の信号端子からの評価値合計が最も少ない接続点を前記信号端子のアサインとして決定することを特徴とする請求項15に記載の分担配線設計方法。
- 1つの半導体装置を構成する別個に設計された複数の領域で共通に使用する信号端子を、前記領域間に設けられた接続点を介して結線するために、前記信号端子と前記接続点とのアサインを決定する分担配線設計方法であって、
前記信号端子と前記接続点をアサインするためのアサイン候補と該アサイン候補を採用した場合の前記アサイン候補内における相対的な良否を示す前記領域ごとの評価値と、前記信号端子間の重要度または前記接続点間の重要度とが設定される設定工程と、
前記信号端子と前記接続点の各組み合わせに対して、設定された前記各領域の評価値を合計する評価値合計工程と、
前記評価値合計の合計が最良となる前記信号端子と前記接続点のアサイン候補の組み合わせをアサインとして決定するアサイン決定工程と、
を含むことを特徴とする分担配線設計方法。 - 前記評価値は、前記アサイン候補間の順位を表す優先度または前記アサイン候補である前記信号端子と前記接続点との間の距離であることを特徴とする請求項14〜17のいずれか1つに記載の分担配線設計方法。
- 前記アサイン決定工程で決定されたアサインに基づいて、前記複数の領域間の共通する信号端子を、前記接続点を介して結線する配線処理工程をさらに含むことを特徴とする請求項14〜18のいずれか1つに記載の分担配線設計方法。
- 前記配線処理工程で前記決定されたアサインとは異なる結線がなされた場合に、前記アサイン決定工程は前記結線に基づいてアサインの変更またはアサインの再決定を行うことを特徴とする請求項19に記載の分担配線設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003051439A JP2004259167A (ja) | 2003-02-27 | 2003-02-27 | 分担配線設計システムおよび分担配線設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003051439A JP2004259167A (ja) | 2003-02-27 | 2003-02-27 | 分担配線設計システムおよび分担配線設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004259167A true JP2004259167A (ja) | 2004-09-16 |
Family
ID=33116583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003051439A Pending JP2004259167A (ja) | 2003-02-27 | 2003-02-27 | 分担配線設計システムおよび分担配線設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004259167A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170595A (ja) * | 2014-06-25 | 2014-09-18 | Fujitsu Ltd | レイアウト設計方法及びレイアウト設計支援プログラム |
-
2003
- 2003-02-27 JP JP2003051439A patent/JP2004259167A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170595A (ja) * | 2014-06-25 | 2014-09-18 | Fujitsu Ltd | レイアウト設計方法及びレイアウト設計支援プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101371263A (zh) | 用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置 | |
US20200125115A1 (en) | Methods and systems of distributing task regions for a plurality of cleaning devices | |
CN102506886B (zh) | 导航设备中实现路径规划的方法 | |
US10460066B1 (en) | Routing framework to resolve single-entry constraint violations for integrated circuit designs | |
JP2007052021A (ja) | ナビゲーションシステムの走行関連時間判断方法、その方法を実行するナビゲーションシステム及びプログラム | |
CN110721472A (zh) | 一种寻路方法、装置、设备以及记录介质 | |
US7900179B2 (en) | Method for prioritizing nodes for rerouting and device therefor | |
US7725863B2 (en) | Reverse routing methods for integrated circuits having a hierarchical interconnect architecture | |
JP2004259167A (ja) | 分担配線設計システムおよび分担配線設計方法 | |
JP7276116B2 (ja) | データ生成プログラム、情報処理装置およびデータ生成方法 | |
CN112528592A (zh) | 基于多阶段优化的考虑布线资源松弛的x结构布线方法 | |
JP2012503809A (ja) | 複雑なパスの簡素化方法及び装置 | |
JP2003167935A (ja) | 配線経路決定装置、グループ決定装置、配線経路決定プログラム、およびグループ決定プログラム | |
JP4408000B2 (ja) | 経路探索方法および装置 | |
CN104735237B (zh) | 一种路径预测方法及交互式语音应答ivr路径预测系统 | |
Chakraborty | Ga-based multiple route selection for car navigation | |
CN114189450A (zh) | 用于生成和使用网络综合中的物理路线图的系统和方法 | |
US20060112365A1 (en) | Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit | |
JPWO2004057273A1 (ja) | 経路探索装置、経路探索システム、プログラム、及び経路探索方法 | |
JPH11118501A (ja) | 最適経路探索方法 | |
US10460063B1 (en) | Integrated circuit routing based on enhanced topology | |
JP2010233097A (ja) | 接続状態推定プログラム、接続状態推定装置および接続状態推定方法 | |
JPWO2010061911A1 (ja) | 再構成可能回路生成装置、方法およびプログラム | |
JP3050906B2 (ja) | 自動配線方法 | |
JP2006244080A (ja) | 自動配置配線装置 |