JP2954074B2 - 回路分割方法及び回路分割装置 - Google Patents
回路分割方法及び回路分割装置Info
- Publication number
- JP2954074B2 JP2954074B2 JP9082764A JP8276497A JP2954074B2 JP 2954074 B2 JP2954074 B2 JP 2954074B2 JP 9082764 A JP9082764 A JP 9082764A JP 8276497 A JP8276497 A JP 8276497A JP 2954074 B2 JP2954074 B2 JP 2954074B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- circuit
- block
- graph
- 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.)
- Expired - Fee Related
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、LSIの回路設計
における回路の自動分割方法及び回路分割装置に関す
る。
における回路の自動分割方法及び回路分割装置に関す
る。
【0002】
【従来の技術】従来、LSIの回路設計における回路の
分割方法として、例えば、ハイレベル・シンセシス(HI
GH-LEVEL SYNTHESIS: Daniel Gajski, Nikil Dutt, All
en Wu,Steve Lin)の第179項〜第210項に記載さ
れているように、回路の初期分割を行なった後、1つ又
は複数の回路素子を別のブロックに仮に移動させてブロ
ック間の接続のネット数を計算して、ブロック間の接続
のネット数が最小となるような移動を実際に行なうこと
により初期分割を改善する方法がある。ここでネットと
は、論理的に接続すべき素子又は端子同士を結んだ信号
線をいう。
分割方法として、例えば、ハイレベル・シンセシス(HI
GH-LEVEL SYNTHESIS: Daniel Gajski, Nikil Dutt, All
en Wu,Steve Lin)の第179項〜第210項に記載さ
れているように、回路の初期分割を行なった後、1つ又
は複数の回路素子を別のブロックに仮に移動させてブロ
ック間の接続のネット数を計算して、ブロック間の接続
のネット数が最小となるような移動を実際に行なうこと
により初期分割を改善する方法がある。ここでネットと
は、論理的に接続すべき素子又は端子同士を結んだ信号
線をいう。
【0003】また、従来の初期分割の方法においては、
(クラスタ内部のエッジの数)−(クラスタから外部へ
出るエッジの数)の値が最小になるように、ノードに対
してクラスタリングを繰り返し、クラスタリングにより
生成されたクラスタリングツリーをカットする方法をと
っていた。
(クラスタ内部のエッジの数)−(クラスタから外部へ
出るエッジの数)の値が最小になるように、ノードに対
してクラスタリングを繰り返し、クラスタリングにより
生成されたクラスタリングツリーをカットする方法をと
っていた。
【0004】
【発明が解決しようとする課題】しかしながら、前記従
来の回路分割方法は、仮に移動させる回路素子の組合せ
の数が大きくなるため、処理時間がかかるという問題を
有していた。また、処理時間をあらかじめ見積もること
ができないため、処理時間と実行結果とは互いに相反す
る傾向にあるので、満足のいく妥協点を見いだすことが
難しいという問題を有していた。
来の回路分割方法は、仮に移動させる回路素子の組合せ
の数が大きくなるため、処理時間がかかるという問題を
有していた。また、処理時間をあらかじめ見積もること
ができないため、処理時間と実行結果とは互いに相反す
る傾向にあるので、満足のいく妥協点を見いだすことが
難しいという問題を有していた。
【0005】さらに、従来の回路分割方法は、回路の大
きさがブロックによって著しく異なってしまうという問
題をも有していた。
きさがブロックによって著しく異なってしまうという問
題をも有していた。
【0006】例えば、図28に示す6つのノードからな
るグラフを3つのブロックに分割するには、まず、図2
9(a)に示すように第1のノードn201及び第2の
ノードn202に対してクラスタリングを行なって、ク
ラスタc210を生成する。次に、図29(b)〜
(d)に示すように、クラスタc210に第3のノード
n203、第4のノードn204、第5のノードn20
5及び第6のノードn206に対して順次クラスタリン
グを行なう。これにより、図30(a)に示すクラスタ
リングツリーが生成され、このクラスタリングツリーを
2本の一点鎖線によって示す箇所を切断して、図30
(b)に示すようにグラフを3つのブロックに分割して
いた。しかし、ブロック1には4つのノードが含まれて
いるが、ブロック2及びブロック3にはノードがそれぞ
れ1つずつしか含まれていないことになる。
るグラフを3つのブロックに分割するには、まず、図2
9(a)に示すように第1のノードn201及び第2の
ノードn202に対してクラスタリングを行なって、ク
ラスタc210を生成する。次に、図29(b)〜
(d)に示すように、クラスタc210に第3のノード
n203、第4のノードn204、第5のノードn20
5及び第6のノードn206に対して順次クラスタリン
グを行なう。これにより、図30(a)に示すクラスタ
リングツリーが生成され、このクラスタリングツリーを
2本の一点鎖線によって示す箇所を切断して、図30
(b)に示すようにグラフを3つのブロックに分割して
いた。しかし、ブロック1には4つのノードが含まれて
いるが、ブロック2及びブロック3にはノードがそれぞ
れ1つずつしか含まれていないことになる。
【0007】本発明は、前記従来の問題を解決するもの
で、LSI回路設計におけるブロック間の接続数を短時
間に且つ最小となるように分割できるようにすることを
目的とする。
で、LSI回路設計におけるブロック間の接続数を短時
間に且つ最小となるように分割できるようにすることを
目的とする。
【0008】
【課題を解決するための手段】請求項1の発明は、複数
の回路素子と該回路素子同士を接続する接続部品とから
なる回路を複数のブロックに分割する回路分割方法を対
象とし、前記複数の回路素子をそれぞれノードとし、前
記接続部品をエッジとするグラフを作成する回路グラフ
作成工程と、前記グラフを適当な複数のブロックに分割
して初期ブロックを生成する初期分割生成工程と、前記
複数のノードのうち、互いに隣接するノード同士で且つ
互いに異なる初期ブロックに属するノードを種ノードと
し、該種ノードを少なくとも1つ選択して種ノード集合
を生成する種ノード集合生成工程と、前記初期ブロック
間を移動させる組合せ対象のノードの数を指定する選択
パラメータを設定する選択パラメータ設定工程と、前記
選択パラメータが示す値以下の数に組み合わされた前記
種ノードを同一の初期ブロックに属するように移動させ
ることにより、前記初期ブロック間にまたがるエッジの
数を減少させる最適化工程と、最適化された種ノードを
含む1つ以上のノードからなるグラフが属するブロック
に対応するように前記回路をブロック化するブロック化
工程とを備えている構成とするものである。
の回路素子と該回路素子同士を接続する接続部品とから
なる回路を複数のブロックに分割する回路分割方法を対
象とし、前記複数の回路素子をそれぞれノードとし、前
記接続部品をエッジとするグラフを作成する回路グラフ
作成工程と、前記グラフを適当な複数のブロックに分割
して初期ブロックを生成する初期分割生成工程と、前記
複数のノードのうち、互いに隣接するノード同士で且つ
互いに異なる初期ブロックに属するノードを種ノードと
し、該種ノードを少なくとも1つ選択して種ノード集合
を生成する種ノード集合生成工程と、前記初期ブロック
間を移動させる組合せ対象のノードの数を指定する選択
パラメータを設定する選択パラメータ設定工程と、前記
選択パラメータが示す値以下の数に組み合わされた前記
種ノードを同一の初期ブロックに属するように移動させ
ることにより、前記初期ブロック間にまたがるエッジの
数を減少させる最適化工程と、最適化された種ノードを
含む1つ以上のノードからなるグラフが属するブロック
に対応するように前記回路をブロック化するブロック化
工程とを備えている構成とするものである。
【0009】請求項1の構成により、初期ブロック間を
移動させる組合せ対象とするノードの数を指定する選択
パラメータを導入しているため、移動可能な組合せの総
数に上限を設けることができると共に、互いに隣接する
ノード同士が互いに異なる初期ブロックに属するノード
である種ノードを同一の初期ブロックに属するように順
次移動させるため、ブロック間のエッジ数が最小となる
ノードの組合せを求めることができる。
移動させる組合せ対象とするノードの数を指定する選択
パラメータを導入しているため、移動可能な組合せの総
数に上限を設けることができると共に、互いに隣接する
ノード同士が互いに異なる初期ブロックに属するノード
である種ノードを同一の初期ブロックに属するように順
次移動させるため、ブロック間のエッジ数が最小となる
ノードの組合せを求めることができる。
【0010】請求項2の発明は、請求項1の構成に、前
記選択パラメータ設定工程は、選択パラメータを初期化
する工程と、前記種ノード集合から前記選択パラメータ
が示す個数の種ノードを選択して、該種ノードを用いて
組み合わされた組合せ総数を計算し、該組合せ総数が規
定値を超えるまで前記選択パラメータに1を加算する処
理を繰り返すことにより、選択パラメータを決定する工
程とを含む構成を付加するものである。
記選択パラメータ設定工程は、選択パラメータを初期化
する工程と、前記種ノード集合から前記選択パラメータ
が示す個数の種ノードを選択して、該種ノードを用いて
組み合わされた組合せ総数を計算し、該組合せ総数が規
定値を超えるまで前記選択パラメータに1を加算する処
理を繰り返すことにより、選択パラメータを決定する工
程とを含む構成を付加するものである。
【0011】請求項3の発明は、請求項1の構成に、前
記選択パラメータ設定工程は、前記複数のノードのすべ
てにそれぞれ接続されるエッジの総数である総ピン数を
求めた後、前記総ピン数の対数値に最も近い自然数を選
択パラメータとする工程を含む構成を付加するものであ
る。
記選択パラメータ設定工程は、前記複数のノードのすべ
てにそれぞれ接続されるエッジの総数である総ピン数を
求めた後、前記総ピン数の対数値に最も近い自然数を選
択パラメータとする工程を含む構成を付加するものであ
る。
【0012】請求項4の発明は、請求項1の構成に、前
記最適化工程は、前記種ノード集合から1つの種ノード
を選択してカレントノードとし、該カレントノードを要
素とする選択ノード集合を生成する種ノード選択工程
と、前記カレントノードを同一の初期ブロックに属する
ように仮に移動させたときに、接続された各ノードが属
する初期ブロックが互いに異なる場合の該初期ブロック
間にまたがるエッジの数を評価関数値とする評価関数値
取得工程と、前記評価関数値が最小値となる場合は、前
記選択ノード集合を最小選択ノード集合とし、前記カレ
ントノードを含む初期ブロックを最適ブロックとする最
適値更新工程と、前記選択ノード集合のノードの数が前
記選択パラメータを超えていないときに、前記カレント
ノードに隣接する1つのノードを選択して共に新たなカ
レントノードとし、該カレントノードを前記選択ノード
集合に追加する隣接ノード選択工程と、前記評価関数値
取得工程及び前記最適値更新工程を繰り返して行なう第
1の繰り返し工程と、前記選択ノード集合のノードの数
が前記選択パラメータを超えたときに、前記最小選択ノ
ード集合を前記最適ブロックに移動する分割変更工程
と、前記種ノード選択工程、前記評価関数値取得工程及
び前記最適値更新工程を、前記種ノード集合のすべての
種ノードを順次選択し終えるまで繰り返して行なう第2
の繰り返し工程とを含む構成を付加するものである。
記最適化工程は、前記種ノード集合から1つの種ノード
を選択してカレントノードとし、該カレントノードを要
素とする選択ノード集合を生成する種ノード選択工程
と、前記カレントノードを同一の初期ブロックに属する
ように仮に移動させたときに、接続された各ノードが属
する初期ブロックが互いに異なる場合の該初期ブロック
間にまたがるエッジの数を評価関数値とする評価関数値
取得工程と、前記評価関数値が最小値となる場合は、前
記選択ノード集合を最小選択ノード集合とし、前記カレ
ントノードを含む初期ブロックを最適ブロックとする最
適値更新工程と、前記選択ノード集合のノードの数が前
記選択パラメータを超えていないときに、前記カレント
ノードに隣接する1つのノードを選択して共に新たなカ
レントノードとし、該カレントノードを前記選択ノード
集合に追加する隣接ノード選択工程と、前記評価関数値
取得工程及び前記最適値更新工程を繰り返して行なう第
1の繰り返し工程と、前記選択ノード集合のノードの数
が前記選択パラメータを超えたときに、前記最小選択ノ
ード集合を前記最適ブロックに移動する分割変更工程
と、前記種ノード選択工程、前記評価関数値取得工程及
び前記最適値更新工程を、前記種ノード集合のすべての
種ノードを順次選択し終えるまで繰り返して行なう第2
の繰り返し工程とを含む構成を付加するものである。
【0013】請求項5の発明は、請求項1の構成に、前
記最適化工程は、前記種ノード集合から1つの種ノード
を選択してカレントノードとし、該カレントノードを要
素とする選択ノード集合を生成する種ノード選択工程
と、ノードとエッジとが交互に並び、且つ、互いに隣接
する前記ノードと前記エッジとが接続されてなる道であ
って前記カレントノードを始点とする所定の長さ以下の
道の上にあるノードの数を計算した後、前記ノードの数
の値に応じて前記選択パラメータを増減して調整する選
択パラメータ調整工程と、前記カレントノードを同一の
ブロックに属するように仮に移動させた場合に、移動さ
せた状態の分割を評価する評価関数から評価関数値を得
る評価関数値取得工程と、前記評価関数値が最小値とな
る場合は、前記選択ノード集合を最小選択ノード集合と
し、前記カレントノードを含むブロックを最適ブロック
とする最適値更新工程と、前記選択ノード集合のノード
の数が前記選択パラメータを超えていないときに、前記
カレントノードに隣接する1つのノードを選択して共に
新たなカレントノードとし、該カレントノードを前記選
択ノード集合に追加する隣接ノード選択工程と、前記選
択パラメータ調整工程、前記評価関数値取得工程及び前
記最適値更新工程を繰り返して行なう第1の繰り返し工
程と、前記選択ノード集合のノードの数が前記選択パラ
メータを超えたときに、前記最小選択ノード集合を前記
最適ブロックに移動する分割変更工程と、前記種ノード
選択工程、前記選択パラメータ調整工程、前記評価関数
値取得工程及び前記最適値更新工程を、前記種ノード集
合のすべての種ノードを順次選択し終えるまで繰り返し
て行なう第2の繰り返し工程とを含む構成を付加するも
のである。
記最適化工程は、前記種ノード集合から1つの種ノード
を選択してカレントノードとし、該カレントノードを要
素とする選択ノード集合を生成する種ノード選択工程
と、ノードとエッジとが交互に並び、且つ、互いに隣接
する前記ノードと前記エッジとが接続されてなる道であ
って前記カレントノードを始点とする所定の長さ以下の
道の上にあるノードの数を計算した後、前記ノードの数
の値に応じて前記選択パラメータを増減して調整する選
択パラメータ調整工程と、前記カレントノードを同一の
ブロックに属するように仮に移動させた場合に、移動さ
せた状態の分割を評価する評価関数から評価関数値を得
る評価関数値取得工程と、前記評価関数値が最小値とな
る場合は、前記選択ノード集合を最小選択ノード集合と
し、前記カレントノードを含むブロックを最適ブロック
とする最適値更新工程と、前記選択ノード集合のノード
の数が前記選択パラメータを超えていないときに、前記
カレントノードに隣接する1つのノードを選択して共に
新たなカレントノードとし、該カレントノードを前記選
択ノード集合に追加する隣接ノード選択工程と、前記選
択パラメータ調整工程、前記評価関数値取得工程及び前
記最適値更新工程を繰り返して行なう第1の繰り返し工
程と、前記選択ノード集合のノードの数が前記選択パラ
メータを超えたときに、前記最小選択ノード集合を前記
最適ブロックに移動する分割変更工程と、前記種ノード
選択工程、前記選択パラメータ調整工程、前記評価関数
値取得工程及び前記最適値更新工程を、前記種ノード集
合のすべての種ノードを順次選択し終えるまで繰り返し
て行なう第2の繰り返し工程とを含む構成を付加するも
のである。
【0014】請求項6の発明は、請求項5の構成に、前
記評価関数を、接続された各ノードが属するブロックが
互いに異なる場合の該ブロック間にまたがるエッジの数
とする構成を付加するものである。
記評価関数を、接続された各ノードが属するブロックが
互いに異なる場合の該ブロック間にまたがるエッジの数
とする構成を付加するものである。
【0015】請求項7の発明は、請求項1の構成に、前
記回路グラフ作成工程におけるグラフは、該グラフのエ
ッジが始点から終点に向かう方向性を有する有向グラフ
であり、前記最適化工程は、前記種ノード集合から1つ
の種ノードを選択してカレントノードとし、該カレント
ノードを要素とする選択ノード集合を生成する種ノード
選択工程と、前記カレントノードを同一のブロックに属
するように移動させる第1の分割変更工程と、複数のノ
ードのうち、始点となるノードであって、該始点となる
ノードと異なる初期ブロックに属するノードを終点とす
るエッジを有するノードの数を出力ピン数とし、該出力
ピン数を評価関数値とする評価関数値取得工程と、前記
評価関数値が最小値となる場合は、前記選択ノード集合
を最小選択ノード集合とし、前記カレントノードを含む
初期ブロックを最適ブロックとする最適値更新工程と、
前記第1の分割変更工程において移動させた前記カレン
トノードを元の初期ブロックに戻す分割取消工程と、前
記選択ノード集合のノードの数が前記選択パラメータを
超えていないときに、前記カレントノードに隣接する1
つのノードを選択して共に新たなカレントノードとし、
該カレントノードを前記選択ノード集合に追加する隣接
ノード選択工程と、前記第1の分割変更工程、前記評価
関数値取得工程、前記最適値更新工程及び前記分割取消
工程を繰り返して行なう第1の繰り返し工程と、前記選
択ノード集合のノードの数が前記選択パラメータを超え
たときに、前記最小選択ノード集合を前記最適ブロック
に移動する分割変更工程と、前記種ノード選択工程、前
記第1の分割変更工程、前記評価関数値取得工程、前記
最適値更新工程及び前記分割取消工程を、前記種ノード
集合のすべての種ノードを順次選択し終えるまで繰り返
して行なう第2の繰り返し工程とを含む構成を付加する
ものである。
記回路グラフ作成工程におけるグラフは、該グラフのエ
ッジが始点から終点に向かう方向性を有する有向グラフ
であり、前記最適化工程は、前記種ノード集合から1つ
の種ノードを選択してカレントノードとし、該カレント
ノードを要素とする選択ノード集合を生成する種ノード
選択工程と、前記カレントノードを同一のブロックに属
するように移動させる第1の分割変更工程と、複数のノ
ードのうち、始点となるノードであって、該始点となる
ノードと異なる初期ブロックに属するノードを終点とす
るエッジを有するノードの数を出力ピン数とし、該出力
ピン数を評価関数値とする評価関数値取得工程と、前記
評価関数値が最小値となる場合は、前記選択ノード集合
を最小選択ノード集合とし、前記カレントノードを含む
初期ブロックを最適ブロックとする最適値更新工程と、
前記第1の分割変更工程において移動させた前記カレン
トノードを元の初期ブロックに戻す分割取消工程と、前
記選択ノード集合のノードの数が前記選択パラメータを
超えていないときに、前記カレントノードに隣接する1
つのノードを選択して共に新たなカレントノードとし、
該カレントノードを前記選択ノード集合に追加する隣接
ノード選択工程と、前記第1の分割変更工程、前記評価
関数値取得工程、前記最適値更新工程及び前記分割取消
工程を繰り返して行なう第1の繰り返し工程と、前記選
択ノード集合のノードの数が前記選択パラメータを超え
たときに、前記最小選択ノード集合を前記最適ブロック
に移動する分割変更工程と、前記種ノード選択工程、前
記第1の分割変更工程、前記評価関数値取得工程、前記
最適値更新工程及び前記分割取消工程を、前記種ノード
集合のすべての種ノードを順次選択し終えるまで繰り返
して行なう第2の繰り返し工程とを含む構成を付加する
ものである。
【0016】請求項8の発明は、請求項7の構成に、前
記評価関数値取得工程における評価関数値として、前記
出力ピン数に、エッジの終点となるノードが属する初期
ブロックのうち前記エッジの始点となるノードが属する
初期ブロックと異なる初期ブロックの数をすべてのエッ
ジの始点となるノードごとに加算して得られる入力ピン
数を加える構成を付加するものである。
記評価関数値取得工程における評価関数値として、前記
出力ピン数に、エッジの終点となるノードが属する初期
ブロックのうち前記エッジの始点となるノードが属する
初期ブロックと異なる初期ブロックの数をすべてのエッ
ジの始点となるノードごとに加算して得られる入力ピン
数を加える構成を付加するものである。
【0017】請求項9の発明は、請求項1の構成に、前
記回路グラフ作成工程におけるグラフは、該グラフのエ
ッジが始点から終点に向かう方向性を有する有向グラフ
であり、前記最適化工程は、前記種ノード集合から1つ
の種ノードを選択してカレントノードとし、該カレント
ノードを要素とする選択ノード集合を生成する種ノード
選択工程と、前記選択ノード集合のカレントノードと前
記選択ノード集合の少なくとも1つのカレントノードに
隣接するノードとからなるピン数計算用集合を生成する
ピン数計算用集合生成工程と、前記ピン数計算用集合に
おけるノードのうち、始点となるノードであって、該始
点となるノードと異なる初期ブロックに属し、且つ、前
記ピン数計算用集合に属するノードを終点とするエッジ
を有するノードの数である出力ピン数と、エッジの終点
となり且つ前記ピン数計算用集合に含まれるノードが属
する初期ブロックのうち前記エッジの始点となるノード
が属する初期ブロックと異なる初期ブロックの数を、す
べてのエッジの始点となるノードごとに加算して得られ
る入力ピン数との和である第1の入出力ピン数を求める
入出力ピン数取得工程と、分割変更を終えていない場合
に、前記カレントノードを同一の初期ブロックに属する
ように移動させた後、移動後の入出力ピン数である第2
の入出力ピン数を得るために前記入出力ピン数取得工程
を繰り返して行なう第1の分割変更工程と、前記第1の
入出力ピン数と前記第2の入出力ピン数との差を評価関
数値とする評価関数値取得工程と、前記評価関数値が最
小値となる場合は、前記選択ノード集合を最小選択ノー
ド集合とし、前記カレントノードを含む初期ブロックを
最適ブロックとする最適値更新工程と、前記第1の分割
変更工程において移動させた前記カレントノードを元の
初期ブロックに戻す分割取消工程と、前記選択ノード集
合のノードの数が前記選択パラメータを超えていないと
きに、前記カレントノードに隣接する1つのノードを選
択して共に新たなカレントノードとし、該カレントノー
ドを前記選択ノード集合に追加する隣接ノード選択工程
と、前記入出力ピン数取得工程、前記第1の分割変更工
程、前記評価関数値取得工程、前記最適値更新工程及び
前記分割取消工程を繰り返して行なう第1の繰り返し工
程と、前記選択ノード集合のノードの数が前記選択パラ
メータを超えたときに、前記最小選択ノード集合を前記
最適ブロックに移動する分割変更工程と、前記種ノード
選択工程、前記ピン数計算用集合生成工程、前記入出力
ピン数取得工程、前記第1の分割変更工程、前記評価関
数値取得工程、前記最適値更新工程及び前記分割取消工
程を、前記種ノード集合のすべての種ノードを順次選択
し終えるまで繰り返して行なう第2の繰り返し工程とを
含む構成を付加するものである。
記回路グラフ作成工程におけるグラフは、該グラフのエ
ッジが始点から終点に向かう方向性を有する有向グラフ
であり、前記最適化工程は、前記種ノード集合から1つ
の種ノードを選択してカレントノードとし、該カレント
ノードを要素とする選択ノード集合を生成する種ノード
選択工程と、前記選択ノード集合のカレントノードと前
記選択ノード集合の少なくとも1つのカレントノードに
隣接するノードとからなるピン数計算用集合を生成する
ピン数計算用集合生成工程と、前記ピン数計算用集合に
おけるノードのうち、始点となるノードであって、該始
点となるノードと異なる初期ブロックに属し、且つ、前
記ピン数計算用集合に属するノードを終点とするエッジ
を有するノードの数である出力ピン数と、エッジの終点
となり且つ前記ピン数計算用集合に含まれるノードが属
する初期ブロックのうち前記エッジの始点となるノード
が属する初期ブロックと異なる初期ブロックの数を、す
べてのエッジの始点となるノードごとに加算して得られ
る入力ピン数との和である第1の入出力ピン数を求める
入出力ピン数取得工程と、分割変更を終えていない場合
に、前記カレントノードを同一の初期ブロックに属する
ように移動させた後、移動後の入出力ピン数である第2
の入出力ピン数を得るために前記入出力ピン数取得工程
を繰り返して行なう第1の分割変更工程と、前記第1の
入出力ピン数と前記第2の入出力ピン数との差を評価関
数値とする評価関数値取得工程と、前記評価関数値が最
小値となる場合は、前記選択ノード集合を最小選択ノー
ド集合とし、前記カレントノードを含む初期ブロックを
最適ブロックとする最適値更新工程と、前記第1の分割
変更工程において移動させた前記カレントノードを元の
初期ブロックに戻す分割取消工程と、前記選択ノード集
合のノードの数が前記選択パラメータを超えていないと
きに、前記カレントノードに隣接する1つのノードを選
択して共に新たなカレントノードとし、該カレントノー
ドを前記選択ノード集合に追加する隣接ノード選択工程
と、前記入出力ピン数取得工程、前記第1の分割変更工
程、前記評価関数値取得工程、前記最適値更新工程及び
前記分割取消工程を繰り返して行なう第1の繰り返し工
程と、前記選択ノード集合のノードの数が前記選択パラ
メータを超えたときに、前記最小選択ノード集合を前記
最適ブロックに移動する分割変更工程と、前記種ノード
選択工程、前記ピン数計算用集合生成工程、前記入出力
ピン数取得工程、前記第1の分割変更工程、前記評価関
数値取得工程、前記最適値更新工程及び前記分割取消工
程を、前記種ノード集合のすべての種ノードを順次選択
し終えるまで繰り返して行なう第2の繰り返し工程とを
含む構成を付加するものである。
【0018】請求項10の発明は、請求項1の構成に、
前記最適化工程は、前記種ノード集合から1つの種ノー
ドを選択してカレントノードとし、該カレントノードを
要素とする選択ノード集合を生成する種ノード選択工程
と、前記カレントノードを同一のブロックに属するよう
に仮に移動させた場合に、移動させた状態の移動元ブロ
ックに属するノードの数及び移動先ブロックに属するノ
ードの数の比である移動後の比率と、移動前の状態の前
記移動元ブロックに属するノードの数及び移動先ブロッ
クに属するノードの数の比である移動前の比率とを計算
して比較する変更時ブロック比率計算工程と、前記移動
後の比率が前記移動前の比率と比べてより1に近いとき
に、移動させた状態の前記移動元ブロックと前記移動先
ブロックとのブロック間のエッジの数を評価する評価関
数値取得工程と、前記評価関数値が最小値となる場合
は、前記選択ノード集合を最小選択ノード集合とし、前
記カレントノードを含むブロックを最適ブロックとする
最適値更新工程と、前記選択ノード集合のノードの数が
前記選択パラメータを超えていないときに、前記カレン
トノードに隣接する1つのノードを選択して共に新たな
カレントノードとし、該カレントノードを前記選択ノー
ド集合に追加する隣接ノード選択工程と、前記変更時ブ
ロック比率計算工程、前記評価関数値取得工程及び前記
最適値更新工程を繰り返して行なう第1の繰り返し工程
と、前記選択ノード集合のノードの数が前記選択パラメ
ータを超えたときに、前記最小選択ノード集合を前記最
適ブロックに移動する分割変更工程と、前記種ノード選
択工程、前記変更時ブロック比率計算工程、前記評価関
数値取得工程及び前記最適値更新工程を、前記種ノード
集合のすべての種ノードを順次選択し終えるまで繰り返
して行なう第2の繰り返し工程とを含む構成を付加する
ものである。
前記最適化工程は、前記種ノード集合から1つの種ノー
ドを選択してカレントノードとし、該カレントノードを
要素とする選択ノード集合を生成する種ノード選択工程
と、前記カレントノードを同一のブロックに属するよう
に仮に移動させた場合に、移動させた状態の移動元ブロ
ックに属するノードの数及び移動先ブロックに属するノ
ードの数の比である移動後の比率と、移動前の状態の前
記移動元ブロックに属するノードの数及び移動先ブロッ
クに属するノードの数の比である移動前の比率とを計算
して比較する変更時ブロック比率計算工程と、前記移動
後の比率が前記移動前の比率と比べてより1に近いとき
に、移動させた状態の前記移動元ブロックと前記移動先
ブロックとのブロック間のエッジの数を評価する評価関
数値取得工程と、前記評価関数値が最小値となる場合
は、前記選択ノード集合を最小選択ノード集合とし、前
記カレントノードを含むブロックを最適ブロックとする
最適値更新工程と、前記選択ノード集合のノードの数が
前記選択パラメータを超えていないときに、前記カレン
トノードに隣接する1つのノードを選択して共に新たな
カレントノードとし、該カレントノードを前記選択ノー
ド集合に追加する隣接ノード選択工程と、前記変更時ブ
ロック比率計算工程、前記評価関数値取得工程及び前記
最適値更新工程を繰り返して行なう第1の繰り返し工程
と、前記選択ノード集合のノードの数が前記選択パラメ
ータを超えたときに、前記最小選択ノード集合を前記最
適ブロックに移動する分割変更工程と、前記種ノード選
択工程、前記変更時ブロック比率計算工程、前記評価関
数値取得工程及び前記最適値更新工程を、前記種ノード
集合のすべての種ノードを順次選択し終えるまで繰り返
して行なう第2の繰り返し工程とを含む構成を付加する
ものである。
【0019】請求項11の発明は、複数の回路素子と該
回路素子同士を接続する接続部品とからなる回路を複数
のブロックに分割する回路分割装置を対象とし、分割対
象となる回路を入力する回路入力手段と、前記複数の回
路素子をそれぞれノードとし、前記接続部品をエッジと
するグラフを作成するグラフ作成手段と、前記グラフを
適当な複数のブロックに分割して初期ブロックを生成す
る初期グラフ分割手段と、組合せ対象のノードの数であ
る選択パラメータを設定する選択パラメータ設定手段
と、前記選択パラメータが示す値を用いて得られる組合
せ総数を計算する組合せ数計算手段と、前記組合せ総数
から前記グラフの分割に要する処理時間を計算する処理
時間計算手段と、前記処理時間を出力する処理時間出力
手段と、前記選択パラメータが示す値以下の数に接続さ
れたノードを同一の初期ブロックに属するように移動さ
せることによって前記グラフの分割を最適化するグラフ
分割手段と、分割された前記グラフに対応する回路の分
割を行なう回路分割手段と、分割された前記回路を出力
する回路出力手段とを備えている構成とするものであ
る。
回路素子同士を接続する接続部品とからなる回路を複数
のブロックに分割する回路分割装置を対象とし、分割対
象となる回路を入力する回路入力手段と、前記複数の回
路素子をそれぞれノードとし、前記接続部品をエッジと
するグラフを作成するグラフ作成手段と、前記グラフを
適当な複数のブロックに分割して初期ブロックを生成す
る初期グラフ分割手段と、組合せ対象のノードの数であ
る選択パラメータを設定する選択パラメータ設定手段
と、前記選択パラメータが示す値を用いて得られる組合
せ総数を計算する組合せ数計算手段と、前記組合せ総数
から前記グラフの分割に要する処理時間を計算する処理
時間計算手段と、前記処理時間を出力する処理時間出力
手段と、前記選択パラメータが示す値以下の数に接続さ
れたノードを同一の初期ブロックに属するように移動さ
せることによって前記グラフの分割を最適化するグラフ
分割手段と、分割された前記グラフに対応する回路の分
割を行なう回路分割手段と、分割された前記回路を出力
する回路出力手段とを備えている構成とするものであ
る。
【0020】請求項11の構成により、初期ブロック間
を移動させる組合せ対象とするノードの数を設定する選
択パラメータを導入しているため、初期ブロック間を移
動可能な組合せ総数に上限を設けることができると共
に、選択パラメータが示す値以下の数に接続されたノー
ドを同一の初期ブロックに属するように移動させるた
め、ブロック間のエッジ数が最小となるノードの組合せ
を求めることができる。
を移動させる組合せ対象とするノードの数を設定する選
択パラメータを導入しているため、初期ブロック間を移
動可能な組合せ総数に上限を設けることができると共
に、選択パラメータが示す値以下の数に接続されたノー
ドを同一の初期ブロックに属するように移動させるた
め、ブロック間のエッジ数が最小となるノードの組合せ
を求めることができる。
【0021】請求項12の発明は、複数の回路素子と該
回路素子同士を接続する接続部品とからなる回路を複数
のブロックに分割する回路分割装置を対象とし、分割対
象となる回路を入力する回路入力手段と、前記複数の回
路素子をそれぞれノードとし、前記接続部品をエッジと
するグラフを作成するグラフ作成手段と、前記グラフを
適当な複数のブロックに分割して初期ブロックを生成す
る初期グラフ分割手段と、前記グラフが最適化されるの
に要する処理時間を入力する処理時間入力手段と、適当
に組み合わされた前記ノードを同一の初期ブロックに属
するように移動させることによって前記グラフの分割を
改善する際に、前記処理時間内に終了させることができ
る組合せ総数を求める組合せ数逆算手段と、前記組合せ
総数から組合せ対象のノードの数である選択パラメータ
を算出して設定する選択パラメータ設定手段と、前記選
択パラメータが示す値以下の数に接続されたノードを同
一の初期ブロックに属するように移動させることによっ
て前記グラフの分割を最適化するグラフ分割手段と、分
割された前記グラフに対応する回路の分割を行なう回路
分割手段と、分割された前記回路を出力する回路出力手
段とを備えている構成とするものである。
回路素子同士を接続する接続部品とからなる回路を複数
のブロックに分割する回路分割装置を対象とし、分割対
象となる回路を入力する回路入力手段と、前記複数の回
路素子をそれぞれノードとし、前記接続部品をエッジと
するグラフを作成するグラフ作成手段と、前記グラフを
適当な複数のブロックに分割して初期ブロックを生成す
る初期グラフ分割手段と、前記グラフが最適化されるの
に要する処理時間を入力する処理時間入力手段と、適当
に組み合わされた前記ノードを同一の初期ブロックに属
するように移動させることによって前記グラフの分割を
改善する際に、前記処理時間内に終了させることができ
る組合せ総数を求める組合せ数逆算手段と、前記組合せ
総数から組合せ対象のノードの数である選択パラメータ
を算出して設定する選択パラメータ設定手段と、前記選
択パラメータが示す値以下の数に接続されたノードを同
一の初期ブロックに属するように移動させることによっ
て前記グラフの分割を最適化するグラフ分割手段と、分
割された前記グラフに対応する回路の分割を行なう回路
分割手段と、分割された前記回路を出力する回路出力手
段とを備えている構成とするものである。
【0022】請求項12の構成により、外部から分割に
要する処理時間をあらかじめ設定できるため、処理時間
に見合った選択パラメータが設定されると共に、選択パ
ラメータが示す値以下の数に接続されたノードを同一の
初期ブロックに属するように移動させるため、ブロック
間のエッジ数が最小となるノードの組合せを所望の時間
内に求めることができる。
要する処理時間をあらかじめ設定できるため、処理時間
に見合った選択パラメータが設定されると共に、選択パ
ラメータが示す値以下の数に接続されたノードを同一の
初期ブロックに属するように移動させるため、ブロック
間のエッジ数が最小となるノードの組合せを所望の時間
内に求めることができる。
【0023】
【発明の実施の形態】(第1の実施形態) 本発明の第1の実施形態を図面を参照しながら説明す
る。
る。
【0024】図1は本発明の第1の実施形態に係る回路
分割方法の工程フローを示す図である。図1に示すよう
に、まず、回路グラフ作成工程S01において、回路素
子としてのセルをノードに対応させ、回路の接続部品と
してのネットをエッジに対応させて、分割対象の回路を
表現するグラフを作成し、初期分割生成工程S02にお
いて、グラフを複数のブロックに初期分割する。初期分
割された各ブロックは初期ブロックとなるが、混乱が生
じない限り単にブロックと称することにする。
分割方法の工程フローを示す図である。図1に示すよう
に、まず、回路グラフ作成工程S01において、回路素
子としてのセルをノードに対応させ、回路の接続部品と
してのネットをエッジに対応させて、分割対象の回路を
表現するグラフを作成し、初期分割生成工程S02にお
いて、グラフを複数のブロックに初期分割する。初期分
割された各ブロックは初期ブロックとなるが、混乱が生
じない限り単にブロックと称することにする。
【0025】次に、選択パラメータ初期化工程S03に
おいて、ブロック間を移動させる組合せ対象とするノー
ドの数である選択パラメータを自然数kの変数として設
定し、k=1に初期化した後、種ノード集合生成工程S
04において、複数のノードのうち互いに隣接するノー
ド同士が互いに異なるブロックに属するノードを種ノー
ドとし、その種ノードを少なくとも1つ選択して種ノー
ド集合を生成する。
おいて、ブロック間を移動させる組合せ対象とするノー
ドの数である選択パラメータを自然数kの変数として設
定し、k=1に初期化した後、種ノード集合生成工程S
04において、複数のノードのうち互いに隣接するノー
ド同士が互いに異なるブロックに属するノードを種ノー
ドとし、その種ノードを少なくとも1つ選択して種ノー
ド集合を生成する。
【0026】次に、計算情報初期化工程S05におい
て、種ノード集合の各ノードがノード組合せ数計算工程
S08により処理されたか否かという情報と、ノード組
合せ数計算工程S08において計算する選択パラメータ
におけるノードの組合せ総数とを初期化する。
て、種ノード集合の各ノードがノード組合せ数計算工程
S08により処理されたか否かという情報と、ノード組
合せ数計算工程S08において計算する選択パラメータ
におけるノードの組合せ総数とを初期化する。
【0027】次に、未計算種ノード判定工程S06にお
いて、種ノード集合にノード組合せ数計算工程S08を
終えていないノードがあるか否かを判定して、未計算の
ノードがある場合は第1の種ノード選択工程S07Aに
おいて、種ノード集合から未計算の種ノードを1つ選択
してカレントノードとする。
いて、種ノード集合にノード組合せ数計算工程S08を
終えていないノードがあるか否かを判定して、未計算の
ノードがある場合は第1の種ノード選択工程S07Aに
おいて、種ノード集合から未計算の種ノードを1つ選択
してカレントノードとする。
【0028】次に、ノード組合せ数計算工程S08にお
いて、種ノードを含み選択パラメータが示すk個が接続
されたノードの組合せ総数を計算した後、ノード組合せ
数判定工程S09において、ノード組合せ数計算工程S
08において算出したノードの組合せ総数が、適当な規
定値を超えているか否かを判定し、超えていない場合は
未計算種ノード判定工程S06に進み、超えている場合
は、未処理種ノード判定工程S11に進む。
いて、種ノードを含み選択パラメータが示すk個が接続
されたノードの組合せ総数を計算した後、ノード組合せ
数判定工程S09において、ノード組合せ数計算工程S
08において算出したノードの組合せ総数が、適当な規
定値を超えているか否かを判定し、超えていない場合は
未計算種ノード判定工程S06に進み、超えている場合
は、未処理種ノード判定工程S11に進む。
【0029】次に、規定値を超えていない場合は、未計
算種ノード判定工程S06において、未計算の種ノード
がないときは選択パラメータインクリメント工程S10
において、選択パラメータkに1を加算した後、計算情
報初期化工程S05に進む。
算種ノード判定工程S06において、未計算の種ノード
がないときは選択パラメータインクリメント工程S10
において、選択パラメータkに1を加算した後、計算情
報初期化工程S05に進む。
【0030】次に、規定値を超えている場合は、未処理
種ノード判定工程S11において、最適化工程としての
分割最適化工程S13を終えていない種ノードがあるか
否かを判定し、未処理の種ノードがない場合は、ブロッ
ク化工程としての回路ブロック設定工程S14に進み、
未処理の種ノードがある場合は、第2の種ノード選択工
程S12Aに進む。
種ノード判定工程S11において、最適化工程としての
分割最適化工程S13を終えていない種ノードがあるか
否かを判定し、未処理の種ノードがない場合は、ブロッ
ク化工程としての回路ブロック設定工程S14に進み、
未処理の種ノードがある場合は、第2の種ノード選択工
程S12Aに進む。
【0031】次に、第2の種ノード選択工程S12Aお
いて、種ノード集合から分割の最適化を行なっていない
種ノードを1つ選択してカレントノードとした後、分割
最適化工程S13において、種ノードを含み互いに接続
された(k−1)個のノードを元から属するブロックと
は異なる他の1つのブロックに仮に移動し、グラフの分
割をブロック間にまたがるエッジの数(以下、ブロック
間エッジ数と呼ぶ。)が最小となるように評価して、分
割を最適化する。
いて、種ノード集合から分割の最適化を行なっていない
種ノードを1つ選択してカレントノードとした後、分割
最適化工程S13において、種ノードを含み互いに接続
された(k−1)個のノードを元から属するブロックと
は異なる他の1つのブロックに仮に移動し、グラフの分
割をブロック間にまたがるエッジの数(以下、ブロック
間エッジ数と呼ぶ。)が最小となるように評価して、分
割を最適化する。
【0032】次に、回路ブロック設定工程S14におい
て、分割が最適化されたグラフの各ブロックと回路の各
ブロックを一対一に対応させる回路のブロック化を行な
った後、ブロック化工程としての回路分割工程S15に
おいて、グラフの各ブロックにそれぞれ対応する回路の
ブロックに対して回路の各回路素子をそれぞれ配する。
て、分割が最適化されたグラフの各ブロックと回路の各
ブロックを一対一に対応させる回路のブロック化を行な
った後、ブロック化工程としての回路分割工程S15に
おいて、グラフの各ブロックにそれぞれ対応する回路の
ブロックに対して回路の各回路素子をそれぞれ配する。
【0033】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0034】図2は分割の対象とする回路を表現したグ
ラフである。図2において、11及び13等は回路グラ
フ作成工程S01によってグラフ化されたノードであ
り、12は同じく回路グラフ作成工程S01によってグ
ラフ化された、ノード同士を接続するエッジである。ブ
ロック1及びブロック2は初期分割生成工程S02によ
ってグラフを初期分割したことを表わしている。
ラフである。図2において、11及び13等は回路グラ
フ作成工程S01によってグラフ化されたノードであ
り、12は同じく回路グラフ作成工程S01によってグ
ラフ化された、ノード同士を接続するエッジである。ブ
ロック1及びブロック2は初期分割生成工程S02によ
ってグラフを初期分割したことを表わしている。
【0035】まず、ノードの組合せ数を制限する規定値
を10とする。
を10とする。
【0036】選択パラメータ初期化工程S03におい
て、選択パラメータを初期値の1とし、種ノード集合生
成工程S04において、第1のノードn1、第2のノー
ドn2、第3のノードn3及び第4のノードn4は隣接
するノードが互いに異なるブロックに属するので、これ
らのノードを種ノードとする種ノード集合を生成する。
て、選択パラメータを初期値の1とし、種ノード集合生
成工程S04において、第1のノードn1、第2のノー
ドn2、第3のノードn3及び第4のノードn4は隣接
するノードが互いに異なるブロックに属するので、これ
らのノードを種ノードとする種ノード集合を生成する。
【0037】第1の種ノード選択工程S07Aにおい
て、種ノード集合からノード組合せ数計算工程S08を
終えていない第1のノードn1を選択する。
て、種ノード集合からノード組合せ数計算工程S08を
終えていない第1のノードn1を選択する。
【0038】ノード組合せ数計算工程S08において、
組合せ総数は1と計算され、次のノード組合せ数判定工
程S09において、組合せ総数が規定値の10を超えて
いないため、未計算種ノード判定工程S06に進み、未
計算の種ノードが残っているので、第1の種ノード選択
工程S07Aにおいて、種ノード集合からノード組合せ
数計算工程S08を終えていない第2のノードn2を選
択する。
組合せ総数は1と計算され、次のノード組合せ数判定工
程S09において、組合せ総数が規定値の10を超えて
いないため、未計算種ノード判定工程S06に進み、未
計算の種ノードが残っているので、第1の種ノード選択
工程S07Aにおいて、種ノード集合からノード組合せ
数計算工程S08を終えていない第2のノードn2を選
択する。
【0039】未計算種ノード判定工程S06からノード
組合せ数判定工程S09までの各工程を順次繰り返し、
種ノード集合のすべてのノードに対して、ノード組合せ
数計算工程S08を終えた後、選択パラメータインクリ
メント工程S10において選択パラメータに1を加算し
て2とする。
組合せ数判定工程S09までの各工程を順次繰り返し、
種ノード集合のすべてのノードに対して、ノード組合せ
数計算工程S08を終えた後、選択パラメータインクリ
メント工程S10において選択パラメータに1を加算し
て2とする。
【0040】次に、第1の種ノード選択工程S07Aに
おいて、第1のノードn1を選択すると、ノード組合せ
数計算工程S08において、第1のノードn1を含み互
いに接続された2個のノードの組合せ総数を計算して、
(n1,11)、(n1,13)、(n1,n3)及び
(n1,n4)の4通りの組合せを得る。
おいて、第1のノードn1を選択すると、ノード組合せ
数計算工程S08において、第1のノードn1を含み互
いに接続された2個のノードの組合せ総数を計算して、
(n1,11)、(n1,13)、(n1,n3)及び
(n1,n4)の4通りの組合せを得る。
【0041】未計算種ノード判定工程S06からノード
組合せ数判定工程S09までの各工程を順次繰り返し、
種ノード集合のすべてのノードに対して、ノード組合せ
数計算工程S08を行なうと、ノードの組合せ総数は1
0になるので、選択パラメータインクリメント工程S1
0において選択パラメータに1を加算して3とする。
組合せ数判定工程S09までの各工程を順次繰り返し、
種ノード集合のすべてのノードに対して、ノード組合せ
数計算工程S08を行なうと、ノードの組合せ総数は1
0になるので、選択パラメータインクリメント工程S1
0において選択パラメータに1を加算して3とする。
【0042】選択パラメータが3の場合は、ノードの組
合せ総数が規定値の10を超えるので、規定値10を満
たす組合せのノードの数である選択パラメータが3と決
定されて、未処理種ノード判定工程S11に進む。
合せ総数が規定値の10を超えるので、規定値10を満
たす組合せのノードの数である選択パラメータが3と決
定されて、未処理種ノード判定工程S11に進む。
【0043】次に、第2の種ノード選択工程S12Aに
おいて、例えば、第1のノードn1をカレントノードに
選んだ後、分割最適化工程S13において選択パラメー
タ値が3であり、移動させるのは選択パラメータから1
を減じた2であるので、第3のノードn3と組み合わせ
た場合は、第3のノードn3をブロック2からブロック
1に仮に移動させて第1のノードn1と同一のブロック
に属するように移動させると、ブロック間エッジ数は
(n3,n5)、(n3,n4)及び(n2,n4)の
3つとなって、移動前の(n1,n3)、(n1,n
4)及び(n2,n4)の3つと変わらない。また、第
3のノードn3をカレントノードに選んだ場合は、分割
最適化工程S13において第3のノードn3及び第4の
ノードn4をブロック2からブロック1に仮に移動させ
ると、ブロック間エッジ数は(n3,n5)、(n4,
n5)の2つとなり、結果的にこの場合が最小となるの
で、図3に示すように第3のノードn3と第4のノード
n4とをブロック2からブロック1に実際に移動してグ
ラフを最適化する。
おいて、例えば、第1のノードn1をカレントノードに
選んだ後、分割最適化工程S13において選択パラメー
タ値が3であり、移動させるのは選択パラメータから1
を減じた2であるので、第3のノードn3と組み合わせ
た場合は、第3のノードn3をブロック2からブロック
1に仮に移動させて第1のノードn1と同一のブロック
に属するように移動させると、ブロック間エッジ数は
(n3,n5)、(n3,n4)及び(n2,n4)の
3つとなって、移動前の(n1,n3)、(n1,n
4)及び(n2,n4)の3つと変わらない。また、第
3のノードn3をカレントノードに選んだ場合は、分割
最適化工程S13において第3のノードn3及び第4の
ノードn4をブロック2からブロック1に仮に移動させ
ると、ブロック間エッジ数は(n3,n5)、(n4,
n5)の2つとなり、結果的にこの場合が最小となるの
で、図3に示すように第3のノードn3と第4のノード
n4とをブロック2からブロック1に実際に移動してグ
ラフを最適化する。
【0044】次に、回路ブロック設定工程S14におい
て、グラフのブロック1及びブロック2にそれぞれ対応
した回路のブロック1及びブロック2を設定した後、回
路分割工程S15において、回路の各回路素子のうち、
グラフのブロック1に属するノードに対応する素子を回
路のブロック1に、グラフのブロック2に属するノード
に対応する素子を回路のブロック2にそれぞれ配して、
回路の分割を終了する。
て、グラフのブロック1及びブロック2にそれぞれ対応
した回路のブロック1及びブロック2を設定した後、回
路分割工程S15において、回路の各回路素子のうち、
グラフのブロック1に属するノードに対応する素子を回
路のブロック1に、グラフのブロック2に属するノード
に対応する素子を回路のブロック2にそれぞれ配して、
回路の分割を終了する。
【0045】なお、前記の回路分割方法においては、仮
に移動するノードの組合せを減らすため、規定値を10
に制限したが、工程時間に余裕がある場合は、規定値を
大きくすると、選択パラメータの値が4以上になる。選
択パラメータが4になるときは、3つのノードを一度に
移動することができるので、図2に示す第3のノードn
3、第4のノードn4及び第5のノードn5をブロック
2からブロック1に移動して、ブロック間エッジ数を1
つに減らすことができる。
に移動するノードの組合せを減らすため、規定値を10
に制限したが、工程時間に余裕がある場合は、規定値を
大きくすると、選択パラメータの値が4以上になる。選
択パラメータが4になるときは、3つのノードを一度に
移動することができるので、図2に示す第3のノードn
3、第4のノードn4及び第5のノードn5をブロック
2からブロック1に移動して、ブロック間エッジ数を1
つに減らすことができる。
【0046】このように本実施形態によると、分割最適
化工程S13の前に、選択パラメータを大きくしなが
ら、ノードの組合せ総数を調べることにより、ノードの
組合せ総数が所望の規定値に近い選択パラメータを求め
ているため、ブロック間エッジ数の最小値を求める分割
最適化工程S13の際に、処理時間が長くなり過ぎない
ように組み合わせるノード数を設定することができるの
で、短時間にブロック間エッジ数が最適化された分割結
果を得ることができる。また、規定値を変えることによ
って、分割の処理時間と処理結果とを調整することがで
きる。
化工程S13の前に、選択パラメータを大きくしなが
ら、ノードの組合せ総数を調べることにより、ノードの
組合せ総数が所望の規定値に近い選択パラメータを求め
ているため、ブロック間エッジ数の最小値を求める分割
最適化工程S13の際に、処理時間が長くなり過ぎない
ように組み合わせるノード数を設定することができるの
で、短時間にブロック間エッジ数が最適化された分割結
果を得ることができる。また、規定値を変えることによ
って、分割の処理時間と処理結果とを調整することがで
きる。
【0047】なお、本実施形態の回路分割方法に基づい
てコンピュータプログラムを作成し、コンピュータが読
み出し可能な記録媒体に記録することも可能である。 (第2の実施形態) 以下、本発明の第2の実施形態を図面を参照しながら説
明する。
てコンピュータプログラムを作成し、コンピュータが読
み出し可能な記録媒体に記録することも可能である。 (第2の実施形態) 以下、本発明の第2の実施形態を図面を参照しながら説
明する。
【0048】図4は本発明の第2の実施形態に係る回路
分割方法の工程フローを示す図である。図4において、
図1における工程と同一の工程には同一の符号を付すこ
とにより説明を省略する。
分割方法の工程フローを示す図である。図4において、
図1における工程と同一の工程には同一の符号を付すこ
とにより説明を省略する。
【0049】第1の実施形態における選択パラメータ設
定工程は、計算情報初期化工程S05から選択パラメー
タインクリメント工程S10までの6つの工程により決
定していた。
定工程は、計算情報初期化工程S05から選択パラメー
タインクリメント工程S10までの6つの工程により決
定していた。
【0050】本実施形態における選択パラメータ設定工
程は、初期分割生成工程S02の後に、総ピン数計算工
程S21において、グラフの各ノードに接続されたエッ
ジの数をすべてのノードについて足し合わせて総ピン数
を求めた後、選択パラメータ計算工程S22において、
総ピン数の自然対数の値に最も近い自然数を選択パラメ
ータとする。
程は、初期分割生成工程S02の後に、総ピン数計算工
程S21において、グラフの各ノードに接続されたエッ
ジの数をすべてのノードについて足し合わせて総ピン数
を求めた後、選択パラメータ計算工程S22において、
総ピン数の自然対数の値に最も近い自然数を選択パラメ
ータとする。
【0051】次の未処理種ノード判定処理S11以降は
第1の実施形態と同様である。
第1の実施形態と同様である。
【0052】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0053】図5は分割対象の回路を表現したグラフで
ある。図5において、11等は回路グラフ作成工程S0
1によってグラフ化されたノードであり、12は同じく
回路グラフ作成工程S01によってグラフ化されたエッ
ジである。ブロック1及びブロック2は初期分割生成工
程S02によってグラフが初期分割されたことを表わし
ている。図5にはグラフの各ノードに接続されるエッジ
の数をノードの横にそれぞれ示している。
ある。図5において、11等は回路グラフ作成工程S0
1によってグラフ化されたノードであり、12は同じく
回路グラフ作成工程S01によってグラフ化されたエッ
ジである。ブロック1及びブロック2は初期分割生成工
程S02によってグラフが初期分割されたことを表わし
ている。図5にはグラフの各ノードに接続されるエッジ
の数をノードの横にそれぞれ示している。
【0054】図5に示すグラフを分割する際に、総ピン
数計算工程S21において、各ノードに接続されるエッ
ジの数の総和が38と計算されるので、選択パラメータ
計算工程S22において、総和38の自然対数値である
3.64に最も近い自然数4を選択パラメータと決定す
る。従って、第1の実施形態において説明したように、
第3のノードn3、第4のノードn4及び第5のノード
n5をブロック2からブロック1に移動させることがで
きる。
数計算工程S21において、各ノードに接続されるエッ
ジの数の総和が38と計算されるので、選択パラメータ
計算工程S22において、総和38の自然対数値である
3.64に最も近い自然数4を選択パラメータと決定す
る。従って、第1の実施形態において説明したように、
第3のノードn3、第4のノードn4及び第5のノード
n5をブロック2からブロック1に移動させることがで
きる。
【0055】また、図6に示すグラフを分割する場合
は、各ノードに接続するエッジの数の総和は10であ
り、その自然対数値は2.3となるので、選択パラメー
タは2となる。ブロック間の移動を許されるのは1つの
ノードであるので、種ノードである第1のノードn6を
ブロック1からブロック2に移動させて、ブロック間エ
ッジ数を2から1に減らすことができる。
は、各ノードに接続するエッジの数の総和は10であ
り、その自然対数値は2.3となるので、選択パラメー
タは2となる。ブロック間の移動を許されるのは1つの
ノードであるので、種ノードである第1のノードn6を
ブロック1からブロック2に移動させて、ブロック間エ
ッジ数を2から1に減らすことができる。
【0056】このように本実施形態によると、グラフの
規模、すなわち、回路の規模に応じて選択パラメータを
決めることにより、規模の大きな回路の場合は多くのノ
ードの組合せの中からブロック間エッジ数がより少なく
なるものを選ぶことができ、規模の小さな回路の場合は
組合せを少なくすることにより処理時間を短縮すること
ができる。また、選択パラメータを対数関数を用いて求
めることにより、大規模回路において組合せの数又は処
理時間が指数関数的に増大するのを防ぐことができるの
で、ブロック間エッジ数が最適化された分割結果を短時
間に得ることができる。 (第3の実施形態) 以下、本発明の第3の実施形態を図面を参照しながら説
明する。
規模、すなわち、回路の規模に応じて選択パラメータを
決めることにより、規模の大きな回路の場合は多くのノ
ードの組合せの中からブロック間エッジ数がより少なく
なるものを選ぶことができ、規模の小さな回路の場合は
組合せを少なくすることにより処理時間を短縮すること
ができる。また、選択パラメータを対数関数を用いて求
めることにより、大規模回路において組合せの数又は処
理時間が指数関数的に増大するのを防ぐことができるの
で、ブロック間エッジ数が最適化された分割結果を短時
間に得ることができる。 (第3の実施形態) 以下、本発明の第3の実施形態を図面を参照しながら説
明する。
【0057】図7は本発明の第3の実施形態に係る回路
分割方法の工程フローを示す図である。図7において、
図1に示した第1の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
分割方法の工程フローを示す図である。図7において、
図1に示した第1の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
【0058】図7に示すように、まず、回路グラフ作成
工程S01、初期分割生成工程S02及び種ノード集合
生成工程S04の後、選択パラメータ設定工程S31に
おいて、自然数の適当な値をとる選択パラメータを設定
する。
工程S01、初期分割生成工程S02及び種ノード集合
生成工程S04の後、選択パラメータ設定工程S31に
おいて、自然数の適当な値をとる選択パラメータを設定
する。
【0059】次に、未処理種ノード判定工程S11にお
いて、未処理の種ノードがある場合は、種ノード選択工
程S12において種ノード集合から種ノードを1つ選択
してカレントノードとし、該カレントノードを選択ノー
ド集合に入れて、選択ノード集合を生成した後、隣接ノ
ード数計算工程S32において、カレントノードに隣接
するノードの数を計算する。
いて、未処理の種ノードがある場合は、種ノード選択工
程S12において種ノード集合から種ノードを1つ選択
してカレントノードとし、該カレントノードを選択ノー
ド集合に入れて、選択ノード集合を生成した後、隣接ノ
ード数計算工程S32において、カレントノードに隣接
するノードの数を計算する。
【0060】次に、選択パラメータ調整工程S33にお
いて、前の隣接ノード数計算工程S32において求めた
隣接ノード数が2のとき、選択パラメータに1を加え、
隣接ノード数が6以上のとき、選択パラメータから1を
減ずる。
いて、前の隣接ノード数計算工程S32において求めた
隣接ノード数が2のとき、選択パラメータに1を加え、
隣接ノード数が6以上のとき、選択パラメータから1を
減ずる。
【0061】次に、評価関数値取得工程としての変更時
評価関数計算工程S34において、選択ノード集合のす
べてのノードを同一のブロック(選択ブロックと呼ぶ)
に属するように移動した状態におけるブロック間エッジ
数を計算する。
評価関数計算工程S34において、選択ノード集合のす
べてのノードを同一のブロック(選択ブロックと呼ぶ)
に属するように移動した状態におけるブロック間エッジ
数を計算する。
【0062】次に、最適値更新工程S35において、最
小エッジ数が初期状態であるとき、又は前の変更時評価
関数計算工程S34において求めたエッジ数が最小エッ
ジ数よりも小さいとき、ブロック間エッジ数を最小エッ
ジ数とし、選択ノード集合を最小選択ノード集合とし、
選択ブロックを最適ブロックとする。
小エッジ数が初期状態であるとき、又は前の変更時評価
関数計算工程S34において求めたエッジ数が最小エッ
ジ数よりも小さいとき、ブロック間エッジ数を最小エッ
ジ数とし、選択ノード集合を最小選択ノード集合とし、
選択ブロックを最適ブロックとする。
【0063】次に、選択ノード数判定工程S36におい
て、選択ノード集合のノード数が選択パラメータを超え
ているか否かを判定し、超えていない場合は、隣接ノー
ド選択工程S37において、カレントノードに隣接する
ノードを1つ選択し、選択ノード集合に含めカレントノ
ードに追加した後、隣接ノード数計算工程S32に進
む。また、選択ノード集合のノード数が選択パラメータ
を超えている場合は、分割変更工程S38において、最
小選択ノード集合を最適ブロックに移動し、最小エッジ
数を初期化した後、選択パラメータ設定工程S31に進
む。未処理ノード判定工程S11において、未処理の種
ノードがない場合は、回路ブロック設定工程S14と回
路分割工程S15において所定の処理を行なって、回路
の分割を終了する。
て、選択ノード集合のノード数が選択パラメータを超え
ているか否かを判定し、超えていない場合は、隣接ノー
ド選択工程S37において、カレントノードに隣接する
ノードを1つ選択し、選択ノード集合に含めカレントノ
ードに追加した後、隣接ノード数計算工程S32に進
む。また、選択ノード集合のノード数が選択パラメータ
を超えている場合は、分割変更工程S38において、最
小選択ノード集合を最適ブロックに移動し、最小エッジ
数を初期化した後、選択パラメータ設定工程S31に進
む。未処理ノード判定工程S11において、未処理の種
ノードがない場合は、回路ブロック設定工程S14と回
路分割工程S15において所定の処理を行なって、回路
の分割を終了する。
【0064】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0065】図8は分割の対象とする回路の一部をグラ
フにより表わした図である。
フにより表わした図である。
【0066】まず、選択パラメータ設定工程S31にお
いて、選択パラメータを4に設定したとすると、種ノー
ド選択工程S12において種ノード集合の中から、例え
ば、種ノードである第1のノードn7が選ばれた際に
は、次の隣接ノード数計算工程S32において、第1の
ノードn7に隣接するノード数が全部で6と計算される
ので、選択パラメータ調整工程S33において隣接する
ノード数が6以上の場合は1を減ずるという調整の条件
にしたがって選択パラメータが4から3に調整される。
いて、選択パラメータを4に設定したとすると、種ノー
ド選択工程S12において種ノード集合の中から、例え
ば、種ノードである第1のノードn7が選ばれた際に
は、次の隣接ノード数計算工程S32において、第1の
ノードn7に隣接するノード数が全部で6と計算される
ので、選択パラメータ調整工程S33において隣接する
ノード数が6以上の場合は1を減ずるという調整の条件
にしたがって選択パラメータが4から3に調整される。
【0067】ここで、ブロックを移動してブロック間エ
ッジ数を評価するノードの組合せとして第1のノードn
7を種ノードとするものは6通り存在するが、これらの
ノードの組合せをいずれかのブロックに移動したとして
も、ブロック間エッジ数を減らすことはできない。
ッジ数を評価するノードの組合せとして第1のノードn
7を種ノードとするものは6通り存在するが、これらの
ノードの組合せをいずれかのブロックに移動したとして
も、ブロック間エッジ数を減らすことはできない。
【0068】仮に、選択パラメータを調整する選択パラ
メータ調整工程S33を行なわなかった場合は、ブロッ
クを移動してブロック間エッジ数を評価するノードの組
合せとして第1のノードn7を種ノードとする組合せは
19個存在するが、これらのノードの組合せをいずれか
のブロックに移動したとしても、やはりブロック間エッ
ジ数を減らすことはできない。
メータ調整工程S33を行なわなかった場合は、ブロッ
クを移動してブロック間エッジ数を評価するノードの組
合せとして第1のノードn7を種ノードとする組合せは
19個存在するが、これらのノードの組合せをいずれか
のブロックに移動したとしても、やはりブロック間エッ
ジ数を減らすことはできない。
【0069】このように多くの隣接ノードを有するノー
ドを移動する場合で、且つ、種ノードと同一のブロック
に属する隣接ノードの数が多い場合には、種ノードを移
動した際にブロック間エッジ数が減る可能性は小さくな
る。
ドを移動する場合で、且つ、種ノードと同一のブロック
に属する隣接ノードの数が多い場合には、種ノードを移
動した際にブロック間エッジ数が減る可能性は小さくな
る。
【0070】また、選択ブロックに属する種ノードを他
の種ノードが属するブロックに移動する際には、例え
ば、図8に示す第2のノードn8又は第3のノードn9
のように、第1のノードn7を含む選択ブロックに隣接
し、他のブロックに存在するノードをカレントノードと
したときにも同じ組合せとなる移動を行なえるため、多
くの隣接ノード数を有するノードを種ノードとするメリ
ットは少ない。
の種ノードが属するブロックに移動する際には、例え
ば、図8に示す第2のノードn8又は第3のノードn9
のように、第1のノードn7を含む選択ブロックに隣接
し、他のブロックに存在するノードをカレントノードと
したときにも同じ組合せとなる移動を行なえるため、多
くの隣接ノード数を有するノードを種ノードとするメリ
ットは少ない。
【0071】さらに、カレントノードが多くの隣接ノー
ドを有するということは、ノードの組合せ数を増加させ
るため、工程の処理時間を増大せることになる。
ドを有するということは、ノードの組合せ数を増加させ
るため、工程の処理時間を増大せることになる。
【0072】そこで、選択パラメータ調整工程S33に
おいて選択パラメータを小さくし、ノードの組合せ数を
減らして、処理時間が増大するのを防いでいる。
おいて選択パラメータを小さくし、ノードの組合せ数を
減らして、処理時間が増大するのを防いでいる。
【0073】次に、選択パラメータを2に設定した場合
は、図9、図10又は図11に示すグラフを分割する際
に、図9に示すグラフはブロック2に属する種ノードn
10をブロック1に移動させることによって、ブロック
間エッジ数を2から1に減らすことができる。しかし、
選択パラメータ調整工程S33による隣接ノード数が2
のときに選択パラメータを1増やす調整工程がない場合
は、図10又は図11に示すグラフのブロック間エッジ
数は2のままとなって減らすことができない。
は、図9、図10又は図11に示すグラフを分割する際
に、図9に示すグラフはブロック2に属する種ノードn
10をブロック1に移動させることによって、ブロック
間エッジ数を2から1に減らすことができる。しかし、
選択パラメータ調整工程S33による隣接ノード数が2
のときに選択パラメータを1増やす調整工程がない場合
は、図10又は図11に示すグラフのブロック間エッジ
数は2のままとなって減らすことができない。
【0074】図10に示すグラフを例にして具体的に説
明すると、選択パラメータ調整工程S33の処理を行な
う場合に、選択パラメータ設定工程S31により、選択
パラメータが2に設定されたときは、隣接ノード数計算
工程S32において隣接ノード数が2となるので、選択
パラメータ調整工程において1を加えて3にする。カレ
ントノードを種ノードである第2のノードn12とする
と、第2のノードn12を該第2のノードn12が属す
るブロック2から隣接するブロック1に移動させても、
ブロック間エッジ数は(n12,n11)及び(n1
3,14)の2のままである。次に、選択ノード数判定
工程S36において、選択ノード数は1であり、選択パ
ラメータ値は3であるので、隣接ノード選択工程S37
において第1のノードn11を選択して選択ノード集合
にカレントノードとして含める。次に、隣接ノード数計
算工程S32において隣接ノード数が2となるので、選
択パラメータ調整工程において再度1を加えて4にす
る。次に、選択ノード集合内のカレントノードである第
2のノードn12及び第1のノードn11をブロック1
に移動させてもブロック間エッジ数はやはり2のままで
ある。次に、選択ノード数判定工程S36において、選
択ノード数は2であり、選択パラメータ値は4であるの
で、隣接ノード選択工程S37において種ノードである
第3のノードn13を選択して選択ノード集合にカレン
トノードとして含める。次に、隣接ノード数計算工程S
32において隣接ノード数が2となるので、選択パラメ
ータ調整工程において1を加えて5にする。次に、選択
ノード集合内のカレントノードである第2のノードn1
2,第1のノードn11及び第3のノードn13をブロ
ック2からブロック1に移動させるとブロック間エッジ
数が1に減るため、最適値を更新することができる。
明すると、選択パラメータ調整工程S33の処理を行な
う場合に、選択パラメータ設定工程S31により、選択
パラメータが2に設定されたときは、隣接ノード数計算
工程S32において隣接ノード数が2となるので、選択
パラメータ調整工程において1を加えて3にする。カレ
ントノードを種ノードである第2のノードn12とする
と、第2のノードn12を該第2のノードn12が属す
るブロック2から隣接するブロック1に移動させても、
ブロック間エッジ数は(n12,n11)及び(n1
3,14)の2のままである。次に、選択ノード数判定
工程S36において、選択ノード数は1であり、選択パ
ラメータ値は3であるので、隣接ノード選択工程S37
において第1のノードn11を選択して選択ノード集合
にカレントノードとして含める。次に、隣接ノード数計
算工程S32において隣接ノード数が2となるので、選
択パラメータ調整工程において再度1を加えて4にす
る。次に、選択ノード集合内のカレントノードである第
2のノードn12及び第1のノードn11をブロック1
に移動させてもブロック間エッジ数はやはり2のままで
ある。次に、選択ノード数判定工程S36において、選
択ノード数は2であり、選択パラメータ値は4であるの
で、隣接ノード選択工程S37において種ノードである
第3のノードn13を選択して選択ノード集合にカレン
トノードとして含める。次に、隣接ノード数計算工程S
32において隣接ノード数が2となるので、選択パラメ
ータ調整工程において1を加えて5にする。次に、選択
ノード集合内のカレントノードである第2のノードn1
2,第1のノードn11及び第3のノードn13をブロ
ック2からブロック1に移動させるとブロック間エッジ
数が1に減るため、最適値を更新することができる。
【0075】同様に、図11に示すグラフにおいても、
第1のノードn14、第2のノードn15、第3のノー
ドn16、第4のノードn17及び第5のノードn18
がカレントノードとなったときに、選択パラメータが1
ずつ増えるため、ブロック2からブロック1に同時に移
動させることができるので、ブロック間エッジ数が1に
なり、最適値を更新することができる。
第1のノードn14、第2のノードn15、第3のノー
ドn16、第4のノードn17及び第5のノードn18
がカレントノードとなったときに、選択パラメータが1
ずつ増えるため、ブロック2からブロック1に同時に移
動させることができるので、ブロック間エッジ数が1に
なり、最適値を更新することができる。
【0076】なお、隣接ノード数計算工程S32におい
てカレントノードに隣接するノード数を計算したが、種
ノード集合生成工程の直前又は直後に、グラフの各ノー
ドについて隣接するノード数を計算しても同じ効果が得
られる。
てカレントノードに隣接するノード数を計算したが、種
ノード集合生成工程の直前又は直後に、グラフの各ノー
ドについて隣接するノード数を計算しても同じ効果が得
られる。
【0077】さらに、隣接ノード数計算工程S32にお
いて、新たに「道」という概念を導入し、この道を用い
てノード数を計算することにより選択パラメータを調整
すると、組合せの総数を減らすのに一層の効果がある。
いて、新たに「道」という概念を導入し、この道を用い
てノード数を計算することにより選択パラメータを調整
すると、組合せの総数を減らすのに一層の効果がある。
【0078】図12(a),(b)に基づいて具体的に
説明すると、ノードとエッジとが交互に並べられ、且
つ、互いに隣接する前記ノードと前記エッジとが接続さ
れている接続関係を道と呼ぶことにする。例えば、図1
2(a)に示す第1のノードn19を含む所定の長さが
3以下の道の上にある、すなわち道に含まれるノードは
4個あり、図12(b)に示す第2のノードn20を含
む所定の長さが3以下の道の上にあるノードは12個あ
る。選択パラメータが3よりも大きい場合には、長さが
3以下の道の上にあるノードの数が多いと、ノードの組
合せの数が大きくなる。従って、所定の長さは選択パラ
メータよりも小さいときに有効となる。また、図12
(a)に示す第1のノードn19を含む長さが2以下の
道の上にあるノードは3個であり、図12(b)に示す
第2のノードn20を含む長さが2以下の道の上にある
ノードは7個であるので、所定の長さを2よりも3にし
た方がノードの数を減らす効果は大きくなる。
説明すると、ノードとエッジとが交互に並べられ、且
つ、互いに隣接する前記ノードと前記エッジとが接続さ
れている接続関係を道と呼ぶことにする。例えば、図1
2(a)に示す第1のノードn19を含む所定の長さが
3以下の道の上にある、すなわち道に含まれるノードは
4個あり、図12(b)に示す第2のノードn20を含
む所定の長さが3以下の道の上にあるノードは12個あ
る。選択パラメータが3よりも大きい場合には、長さが
3以下の道の上にあるノードの数が多いと、ノードの組
合せの数が大きくなる。従って、所定の長さは選択パラ
メータよりも小さいときに有効となる。また、図12
(a)に示す第1のノードn19を含む長さが2以下の
道の上にあるノードは3個であり、図12(b)に示す
第2のノードn20を含む長さが2以下の道の上にある
ノードは7個であるので、所定の長さを2よりも3にし
た方がノードの数を減らす効果は大きくなる。
【0079】このように本実施形態によると、カレント
ノードが該カレントノードに隣接するノード数を多く有
する場合は最適化が図れないため、ブロック間を移動さ
せる組合せ対象のノード数である選択パラメータを小さ
くして組合せの場合の数を減らすことにより処理時間を
抑制することができ、また、該カレントノードに隣接す
るノード数が少ない場合は選択パラメータを大きくして
移動することができるノード数を増やすことによりブロ
ック間エッジ数を最小とする最適化を図ることができ
る。 (第4の実施形態) 以下、本発明の第4の実施形態を図面を参照しながら説
明する。
ノードが該カレントノードに隣接するノード数を多く有
する場合は最適化が図れないため、ブロック間を移動さ
せる組合せ対象のノード数である選択パラメータを小さ
くして組合せの場合の数を減らすことにより処理時間を
抑制することができ、また、該カレントノードに隣接す
るノード数が少ない場合は選択パラメータを大きくして
移動することができるノード数を増やすことによりブロ
ック間エッジ数を最小とする最適化を図ることができ
る。 (第4の実施形態) 以下、本発明の第4の実施形態を図面を参照しながら説
明する。
【0080】図13は本発明の第4の実施形態に係る回
路分割方法の工程フローを示す図である。図13におい
て、第1及び第3の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
路分割方法の工程フローを示す図である。図13におい
て、第1及び第3の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
【0081】まず、回路有向グラフ作成工程S41にお
いて、各エッジに方向性を有するグラフとして回路を表
現する。なお、有向グラフの詳細は後述する。
いて、各エッジに方向性を有するグラフとして回路を表
現する。なお、有向グラフの詳細は後述する。
【0082】次に、初期分割生成工程S02、選択パラ
メータ設定工程S31、種ノード集合生成工程S04、
未処理種ノード判定工程S11及び種ノード選択工程S
12の後に、第1の分割変更工程S42Aにおいて、選
択ノード集合のすべてのノードを同一のブロックに移動
させる。
メータ設定工程S31、種ノード集合生成工程S04、
未処理種ノード判定工程S11及び種ノード選択工程S
12の後に、第1の分割変更工程S42Aにおいて、選
択ノード集合のすべてのノードを同一のブロックに移動
させる。
【0083】次に、評価関数値取得工程としての出力ピ
ン数計算工程S43において、ノードを始点とし、該ノ
ードが属するブロックと異なるブロックに属するノード
を終点とするエッジを有するノードの数を計算して、こ
のノード数を出力ピン数とする。
ン数計算工程S43において、ノードを始点とし、該ノ
ードが属するブロックと異なるブロックに属するノード
を終点とするエッジを有するノードの数を計算して、こ
のノード数を出力ピン数とする。
【0084】次に、評価関数値取得工程としての入力ピ
ン数計算工程S44において、各ノードに対して、該ノ
ードを始点とするエッジの終点のノードが属するブロッ
クのうち、始点となるノードが属するブロックと異なる
ブロックの数を計算した値を、始点となるノードごとに
加算して、このブロック数を入力ピン数とする。
ン数計算工程S44において、各ノードに対して、該ノ
ードを始点とするエッジの終点のノードが属するブロッ
クのうち、始点となるノードが属するブロックと異なる
ブロックの数を計算した値を、始点となるノードごとに
加算して、このブロック数を入力ピン数とする。
【0085】次に、最適値更新工程S45において、出
力ピン数と入力ピン数との和を入出力ピン数とし、該入
出力ピン数の最小値が初期状態であるとき、又は入出力
ピン数が入出力ピン数の最小値よりも小さいとき、該入
出力ピン数を最小入出力ピン数とし、選択ノード集合を
最小選択ノード集合とし、第1の分割変更工程S42A
において移動させた移動先のブロックを最適ブロックと
する。
力ピン数と入力ピン数との和を入出力ピン数とし、該入
出力ピン数の最小値が初期状態であるとき、又は入出力
ピン数が入出力ピン数の最小値よりも小さいとき、該入
出力ピン数を最小入出力ピン数とし、選択ノード集合を
最小選択ノード集合とし、第1の分割変更工程S42A
において移動させた移動先のブロックを最適ブロックと
する。
【0086】次に、分割変更工程としての分割変更取消
工程S46において、第1の分割変更工程S42Aにお
いて移動させたすべてのノードを、元のブロックに戻
す。
工程S46において、第1の分割変更工程S42Aにお
いて移動させたすべてのノードを、元のブロックに戻
す。
【0087】次に、選択ノード数判定工程S36におい
て、選択ノード集合のノード数が選択パラメータを超え
ているか否かを判定し、超えていないときは、隣接ノー
ド選択工程S37において、カレントノードに隣接する
ノードを1つ選択し、カレントノードとして選択ノード
集合に追加して、第1の分割変更工程S42Aに戻り、
超えているときは、第2の分割変更工程S38におい
て、最適値更新工程S45において得られた最小選択ノ
ード集合を最適ブロックに移動し、最小入出力ピン数を
初期化して未処理種ノード判定工程S11に進む。
て、選択ノード集合のノード数が選択パラメータを超え
ているか否かを判定し、超えていないときは、隣接ノー
ド選択工程S37において、カレントノードに隣接する
ノードを1つ選択し、カレントノードとして選択ノード
集合に追加して、第1の分割変更工程S42Aに戻り、
超えているときは、第2の分割変更工程S38におい
て、最適値更新工程S45において得られた最小選択ノ
ード集合を最適ブロックに移動し、最小入出力ピン数を
初期化して未処理種ノード判定工程S11に進む。
【0088】次に、未処理種ノード判定工程S11にお
いて、未処理の種ノードが存在しない場合は、回路ブロ
ック設定工程S14と回路分割工程S15との各所定の
処理を行なって、回路の分割を終了する。
いて、未処理の種ノードが存在しない場合は、回路ブロ
ック設定工程S14と回路分割工程S15との各所定の
処理を行なって、回路の分割を終了する。
【0089】以下、本実施形態の特徴を具体的なデータ
を用いて詳細に説明する。
を用いて詳細に説明する。
【0090】図14は分割した回路の一部を表わしてい
る。図14に示すように、第1のブロック27は第1の
回路素子21及び第3の回路素子23を含み、第2のブ
ロック28は第2の回路素子22を含み、第3のブロッ
ク29は第4の回路素子24及び第5の回路素子25を
含む。ネット26は第1の回路素子21の出力端子に接
続され、第2の回路素子22、第3の回路素子23、第
4の回路素子24及び第5の回路素子25の各入力端子
にそれぞれ接続されている。
る。図14に示すように、第1のブロック27は第1の
回路素子21及び第3の回路素子23を含み、第2のブ
ロック28は第2の回路素子22を含み、第3のブロッ
ク29は第4の回路素子24及び第5の回路素子25を
含む。ネット26は第1の回路素子21の出力端子に接
続され、第2の回路素子22、第3の回路素子23、第
4の回路素子24及び第5の回路素子25の各入力端子
にそれぞれ接続されている。
【0091】この回路はブロック間のネット数が1であ
り、また、第1のブロック27は出力ピンを1つ有し、
第2及び第3のブロック28,29は共に入力ピンを1
つ有するので、各ブロックが有するピン数の合計は3と
なる。
り、また、第1のブロック27は出力ピンを1つ有し、
第2及び第3のブロック28,29は共に入力ピンを1
つ有するので、各ブロックが有するピン数の合計は3と
なる。
【0092】従って、この回路をグラフとして表現する
と図15に示すグラフが得られる。図15において、第
1のブロック27Aに属する21Aは図14における第
1の回路素子21を表わす第1のノード、23Aは同じ
く第3の回路素子23を表わす第3のノードである。第
2のブロック28A及び第3のブロック29Aにおいて
も同様である。30Aは第1のノード21Aと第2のノ
ード22Aとを結ぶ第1のエッジ、31Aは第1のノー
ド21Aと第3のノード23Aとを結ぶ第2のエッジ、
32Aは第1のノード21Aと第4のノード24Aとを
結ぶ第3のエッジ、33Aは第1のノード21Aと第5
のノード25Aとを結ぶ第4のエッジである。
と図15に示すグラフが得られる。図15において、第
1のブロック27Aに属する21Aは図14における第
1の回路素子21を表わす第1のノード、23Aは同じ
く第3の回路素子23を表わす第3のノードである。第
2のブロック28A及び第3のブロック29Aにおいて
も同様である。30Aは第1のノード21Aと第2のノ
ード22Aとを結ぶ第1のエッジ、31Aは第1のノー
ド21Aと第3のノード23Aとを結ぶ第2のエッジ、
32Aは第1のノード21Aと第4のノード24Aとを
結ぶ第3のエッジ、33Aは第1のノード21Aと第5
のノード25Aとを結ぶ第4のエッジである。
【0093】しかしながら、図15に示すグラフから
は、回路を分割した時のネット数及びブロックのピン数
は分からないので、従来は、回路からグラフを作成する
際に、グラフの各エッジに対して、出力素子数に応じた
重みをつけていた。例えば、図15に示すグラフの場合
は、出力素子(各ノード22A〜25A)の数は4であ
るため、各エッジに4分の1ずつの重みを付け、この重
みをブロック間のエッジごとに加算してブロック間のネ
ットの数の評価を行なっていた。
は、回路を分割した時のネット数及びブロックのピン数
は分からないので、従来は、回路からグラフを作成する
際に、グラフの各エッジに対して、出力素子数に応じた
重みをつけていた。例えば、図15に示すグラフの場合
は、出力素子(各ノード22A〜25A)の数は4であ
るため、各エッジに4分の1ずつの重みを付け、この重
みをブロック間のエッジごとに加算してブロック間のネ
ットの数の評価を行なっていた。
【0094】この場合の図15に示すグラフは、4分の
1の重みのエッジが第1、第2及び第3のブロック間に
存在するので、この分割の評価関数値は4分の3となる
が、回路のブロック間のネット数である1を正確には表
わしていない。その上、ブロックのピンの数も分からな
い。
1の重みのエッジが第1、第2及び第3のブロック間に
存在するので、この分割の評価関数値は4分の3となる
が、回路のブロック間のネット数である1を正確には表
わしていない。その上、ブロックのピンの数も分からな
い。
【0095】そこで、図14に示す回路を有向グラフを
用いて表現したのが図16に示すグラフである。
用いて表現したのが図16に示すグラフである。
【0096】図16に示す30B,31B,32B及び
33Bは有向グラフのエッジであって、いずれも第1の
ノード21Aを始点としており、第1のエッジ30Bは
第2のノード22Aを終点とし、第2のエッジ31Bは
第3のノード23Aを終点とし、第3のエッジ32Bは
第4のノード24Aを終点とし、第4のエッジ33Bは
第5のノード25Aを終点とする。
33Bは有向グラフのエッジであって、いずれも第1の
ノード21Aを始点としており、第1のエッジ30Bは
第2のノード22Aを終点とし、第2のエッジ31Bは
第3のノード23Aを終点とし、第3のエッジ32Bは
第4のノード24Aを終点とし、第4のエッジ33Bは
第5のノード25Aを終点とする。
【0097】この有向グラフを用いると、回路を分割し
た時のネット数及びブロックが有するピン数を計算する
ことができる。
た時のネット数及びブロックが有するピン数を計算する
ことができる。
【0098】(ネット数の求め方) ネット数を求めるには、始点のノードと終点のノードと
が所属するブロックが互いに異なるエッジのうち始点と
なるノードの数を重複しないように数える。図16に示
す有向グラフにおいては、始点のノードと終点のノード
との所属ブロックが異なるエッジは第1のエッジ30
B、第3のエッジ32B及び第4のエッジ33Bである
が、これらの始点となるノードは共に第1のノード21
Aである。出力ピン数計算工程S43において第1のノ
ード21Aが出力ピン数として計算され、図14に示す
ブロック間ネット数である1に等しい結果を得ることが
できる。
が所属するブロックが互いに異なるエッジのうち始点と
なるノードの数を重複しないように数える。図16に示
す有向グラフにおいては、始点のノードと終点のノード
との所属ブロックが異なるエッジは第1のエッジ30
B、第3のエッジ32B及び第4のエッジ33Bである
が、これらの始点となるノードは共に第1のノード21
Aである。出力ピン数計算工程S43において第1のノ
ード21Aが出力ピン数として計算され、図14に示す
ブロック間ネット数である1に等しい結果を得ることが
できる。
【0099】(ブロックのピン数の求め方) ブロックが有するピン数を求めるには、各ノードを始点
とするエッジの終点のノードが属するブロックのうち、
始点となるノードが属するブロックと異なるブロックの
数を計算した値を、各始点のノードごとに加算して入力
ピン数を計算し、該入力ピン数を前記の出力ピン数に加
えればよい。例えば、図16に示すグラフの場合は、第
1のブロック27Aに属する第1のノード21Aを始点
とする第1のエッジ30B、第3のエッジ32B及び第
4のエッジ33Bの終点のノードの所属ブロックが第2
のブロック28A及び第3のブロック29Aの2つであ
るので、入力ピン数計算工程S44において入力ピン数
の2が得られる。従って、次の最適値更新工程S45に
おいて、入力ピン数の2に出力ピン数の1を加えた3が
入出力ピン数となり、ブロックが有するピンの合計数の
3に等しい値を得ることができる。
とするエッジの終点のノードが属するブロックのうち、
始点となるノードが属するブロックと異なるブロックの
数を計算した値を、各始点のノードごとに加算して入力
ピン数を計算し、該入力ピン数を前記の出力ピン数に加
えればよい。例えば、図16に示すグラフの場合は、第
1のブロック27Aに属する第1のノード21Aを始点
とする第1のエッジ30B、第3のエッジ32B及び第
4のエッジ33Bの終点のノードの所属ブロックが第2
のブロック28A及び第3のブロック29Aの2つであ
るので、入力ピン数計算工程S44において入力ピン数
の2が得られる。従って、次の最適値更新工程S45に
おいて、入力ピン数の2に出力ピン数の1を加えた3が
入出力ピン数となり、ブロックが有するピンの合計数の
3に等しい値を得ることができる。
【0100】このように本実施形態によると、回路を有
向グラフを用いて表現しているため、回路を分割した時
のネット数及びブロックが有するピン数を正確に計算す
ることができるので、最適化の度合いがさらに向上す
る。
向グラフを用いて表現しているため、回路を分割した時
のネット数及びブロックが有するピン数を正確に計算す
ることができるので、最適化の度合いがさらに向上す
る。
【0101】また、ノードと該ノードに接続するエッジ
から回路全体のブロックのピンの総数の変化を計算する
と共に、移動させるノードの組合せ数の上限である選択
パラメータを導入しているため、組合せ総数が制限がさ
れるので、処理時間の短縮を図ることができる。
から回路全体のブロックのピンの総数の変化を計算する
と共に、移動させるノードの組合せ数の上限である選択
パラメータを導入しているため、組合せ総数が制限がさ
れるので、処理時間の短縮を図ることができる。
【0102】従来、ノードを別のブロックに移動した際
には、分割の評価関数値を高速に計算するために、移動
させるノードと移動させるノードに接続されるエッジと
から評価関数値の変化を計算していた。しかし、有向グ
ラフを用いる本実施形態の場合は、ノードを別のブロッ
クに移動させた後のブロック間のネット数やブロックが
有するピン数の変化を計算するには、移動させるノード
と移動させるノードに接続されるエッジだけでは不十分
であり、移動させるノードに隣接するノードをも考慮す
る必要がある。
には、分割の評価関数値を高速に計算するために、移動
させるノードと移動させるノードに接続されるエッジと
から評価関数値の変化を計算していた。しかし、有向グ
ラフを用いる本実施形態の場合は、ノードを別のブロッ
クに移動させた後のブロック間のネット数やブロックが
有するピン数の変化を計算するには、移動させるノード
と移動させるノードに接続されるエッジだけでは不十分
であり、移動させるノードに隣接するノードをも考慮す
る必要がある。
【0103】そこで、図13に示した工程フローを以下
に示すように改善する。 (第4の実施形態の一変形例) 以下、本発明の第4の実施形態の一変形例を図面に基づ
いて説明する。
に示すように改善する。 (第4の実施形態の一変形例) 以下、本発明の第4の実施形態の一変形例を図面に基づ
いて説明する。
【0104】図17は第4の実施形態を示した図13の
工程フローに用いるサブフローを示している。
工程フローに用いるサブフローを示している。
【0105】図17に示す一連の工程は、図13に示す
工程フローにおける第1の分割変更工程S42Aから分
割変更取消工程S46までの各工程に代わる工程であ
る。
工程フローにおける第1の分割変更工程S42Aから分
割変更取消工程S46までの各工程に代わる工程であ
る。
【0106】図13に示す種ノード選択工程S12の次
に、ピン数計算用集合生成工程S401において、選択
ノード集合のすべてのノード及び選択ノード集合の少な
くとも1つのノードに隣接するすべてのノードからなる
集合であるピン数計算用集合を生成する。
に、ピン数計算用集合生成工程S401において、選択
ノード集合のすべてのノード及び選択ノード集合の少な
くとも1つのノードに隣接するすべてのノードからなる
集合であるピン数計算用集合を生成する。
【0107】次に、入出力ピン数取得工程としてのピン
数計算用集合内出力ピン数計算工程S402において、
ピン数計算用集合のノードのうち、始点となるノードで
あって、該始点となるノードが属するブロックと異なる
ブロックに属し、且つ、ピン数計算用集合に属するノー
ドを終点とするエッジを有するノードの数を計算してピ
ン数計算用集合内出力ピン数を得る。
数計算用集合内出力ピン数計算工程S402において、
ピン数計算用集合のノードのうち、始点となるノードで
あって、該始点となるノードが属するブロックと異なる
ブロックに属し、且つ、ピン数計算用集合に属するノー
ドを終点とするエッジを有するノードの数を計算してピ
ン数計算用集合内出力ピン数を得る。
【0108】次に、入出力ピン数取得工程としてのピン
数計算用集合内入力ピン数計算工程S403において、
エッジの終点となり且つピン数計算用集合に含まれるノ
ードが属するブロックのうち、前記エッジの始点となる
ピン数計算用集合内のノードが属するブロックと異なる
ブロックの数を計算した値を前記エッジの始点となるノ
ードごとに加算してピン数計算用集合内入力ピン数を得
る。
数計算用集合内入力ピン数計算工程S403において、
エッジの終点となり且つピン数計算用集合に含まれるノ
ードが属するブロックのうち、前記エッジの始点となる
ピン数計算用集合内のノードが属するブロックと異なる
ブロックの数を計算した値を前記エッジの始点となるノ
ードごとに加算してピン数計算用集合内入力ピン数を得
る。
【0109】次に、入出力ピン数取得工程としてのピン
数計算用集合内入出力ピン数計算工程S404におい
て、ピン数計算用集合内出力ピン数とピン数計算用集合
内入力ピン数との和をピン数計算用集合内入出力ピン数
とする。
数計算用集合内入出力ピン数計算工程S404におい
て、ピン数計算用集合内出力ピン数とピン数計算用集合
内入力ピン数との和をピン数計算用集合内入出力ピン数
とする。
【0110】次に、分割変更済判定工程S405におい
て、選択ノード集合のすべてのノードを同一ブロックに
属するように移動させる分割変更処理が行なわれたか否
かを判定し、行なわれていなければ第1の分割変更工程
S406Aに進み、選択ノード集合のすべてのノードを
同一のブロックに移動させた後、ピン数計算用集合内出
力ピン数計算工程S402に戻る。
て、選択ノード集合のすべてのノードを同一ブロックに
属するように移動させる分割変更処理が行なわれたか否
かを判定し、行なわれていなければ第1の分割変更工程
S406Aに進み、選択ノード集合のすべてのノードを
同一のブロックに移動させた後、ピン数計算用集合内出
力ピン数計算工程S402に戻る。
【0111】また、分割変更処理が行なわれておれば、
評価関数値取得工程としての入出力ピン数変化計算工程
S407において、第1の分割変更工程S406後のピ
ン数計算用集合内入出力ピン数から第1の分割変更工程
S406前のピン数計算用集合内入出力ピン数を差し引
いた値を求めて入出力ピン数変化値を得る。
評価関数値取得工程としての入出力ピン数変化計算工程
S407において、第1の分割変更工程S406後のピ
ン数計算用集合内入出力ピン数から第1の分割変更工程
S406前のピン数計算用集合内入出力ピン数を差し引
いた値を求めて入出力ピン数変化値を得る。
【0112】次に、最適値更新工程としてのピン数変化
最適値更新工程S408において、入出力ピン数変化の
最小値が初期値であるとき又は前記入出力ピン数変化値
が前回までの最小値よりも小さいとき、該入出力ピン数
変化値を入出力ピン数変化最小値とし、選択ノード集合
を最小選択ノード集合とし、第1の分割変更工程S40
6におけるノードの移動先のブロックを最適ブロックと
する。
最適値更新工程S408において、入出力ピン数変化の
最小値が初期値であるとき又は前記入出力ピン数変化値
が前回までの最小値よりも小さいとき、該入出力ピン数
変化値を入出力ピン数変化最小値とし、選択ノード集合
を最小選択ノード集合とし、第1の分割変更工程S40
6におけるノードの移動先のブロックを最適ブロックと
する。
【0113】次に、分割変更取消工程S409におい
て、第1の分割変更工程s406において移動したすべ
てのノードを元のブロックに戻す。
て、第1の分割変更工程s406において移動したすべ
てのノードを元のブロックに戻す。
【0114】以下、本変形例を具体的なデータを用いて
詳細に説明する。
詳細に説明する。
【0115】図18は分割対象とする回路の一部を有向
グラフを用いて表わした図である。
グラフを用いて表わした図である。
【0116】まず、図18に示すように、図13に示す
種ノード選択工程S12において、第2のブロックに属
する第3のノードn23及び第4のノードn24を種ノ
ードとして選択し、カレントノードとして選択集合を生
成した後、ピン数計算用集合生成工程S401におい
て、第3のノードn23及び第4のノードn24と、そ
れらに隣接する第1のノードn21、第2のノードn2
2及び第5のノードn25とを含むピン数計算用集合を
生成する。
種ノード選択工程S12において、第2のブロックに属
する第3のノードn23及び第4のノードn24を種ノ
ードとして選択し、カレントノードとして選択集合を生
成した後、ピン数計算用集合生成工程S401におい
て、第3のノードn23及び第4のノードn24と、そ
れらに隣接する第1のノードn21、第2のノードn2
2及び第5のノードn25とを含むピン数計算用集合を
生成する。
【0117】次に、ピン数計算用集合内出力ピン数計算
工程S402において、ピン数計算用集合内の各ノード
について、始点となるノードであって、該ノードが属す
るブロックと互いに異なるブロックに属し、且つ、ピン
数計算用集合に属するノードを終点とするエッジを有す
るノードは第1のノードn21及び第2のノードn22
であるので、ピン数計算用集合内出力ピン数は2とな
る。
工程S402において、ピン数計算用集合内の各ノード
について、始点となるノードであって、該ノードが属す
るブロックと互いに異なるブロックに属し、且つ、ピン
数計算用集合に属するノードを終点とするエッジを有す
るノードは第1のノードn21及び第2のノードn22
であるので、ピン数計算用集合内出力ピン数は2とな
る。
【0118】次に、ピン数計算用集合内入力ピン数計算
工程S403において、ピン数計算用集合の第1のノー
ドn21を始点とする第1のエッジ41及び第2のエッ
ジ42のそれぞれの終点の第3のノードn23及び第4
のノードn24は共にピン数計算用集合に属しており、
共にブロック2に属している。ピン数計算用集合内の第
2のノードn22を始点とする第3のエッジ43の終点
の第4のノードn24はピン数計算用集合に属し、ま
た、ブロック2に属している。従って、始点となるノー
ドごとにブロックの数を計算するため、第1のノードn
21と第2のノードn22との2つがピン数計算用集合
内入力ピン数となる。
工程S403において、ピン数計算用集合の第1のノー
ドn21を始点とする第1のエッジ41及び第2のエッ
ジ42のそれぞれの終点の第3のノードn23及び第4
のノードn24は共にピン数計算用集合に属しており、
共にブロック2に属している。ピン数計算用集合内の第
2のノードn22を始点とする第3のエッジ43の終点
の第4のノードn24はピン数計算用集合に属し、ま
た、ブロック2に属している。従って、始点となるノー
ドごとにブロックの数を計算するため、第1のノードn
21と第2のノードn22との2つがピン数計算用集合
内入力ピン数となる。
【0119】次に、ピン数計算用集合内入出力ピン数計
算工程S404において、ピン数計算用集合内出力ピン
数である2とピン数計算用集合内入力ピン数である2の
和をとってピン数計算用集合内入出力ピン数は4とな
る。
算工程S404において、ピン数計算用集合内出力ピン
数である2とピン数計算用集合内入力ピン数である2の
和をとってピン数計算用集合内入出力ピン数は4とな
る。
【0120】次に、図19に示すように、第1の分割変
更工程S406Aにおいて、カレントノードである第3
のノードn23及び第4のノードn24をブロック2か
ら隣接するブロック1に移動させる分割の変更を行な
う。
更工程S406Aにおいて、カレントノードである第3
のノードn23及び第4のノードn24をブロック2か
ら隣接するブロック1に移動させる分割の変更を行な
う。
【0121】次に、ピン数計算用集合内出力ピン数計算
工程S402において、ピン数計算用集合の各ノードに
ついて、始点となるノードであって、該ノードが属する
ブロックと互いに異なるブロックに属し、且つ、ピン数
計算用集合に属するノードを終点とするエッジを有する
ノードは、図19に示す第3のノードn23であるの
で、ピン数計算用集合内出力ピン数は1となる。
工程S402において、ピン数計算用集合の各ノードに
ついて、始点となるノードであって、該ノードが属する
ブロックと互いに異なるブロックに属し、且つ、ピン数
計算用集合に属するノードを終点とするエッジを有する
ノードは、図19に示す第3のノードn23であるの
で、ピン数計算用集合内出力ピン数は1となる。
【0122】次に、ピン数計算用集合内入力ピン数計算
工程S403において、図19に示すピン数計算用集合
の第3のノードn23を始点とする第4のエッジ44の
終点の第5のノードn25はピン数計算用集合に属して
おり、ブロック2に属している。従って、第3のノード
n23に対して該当するブロックはブロック2の1つの
みであり、ピン数計算用集合内入力ピン数は1となる。
工程S403において、図19に示すピン数計算用集合
の第3のノードn23を始点とする第4のエッジ44の
終点の第5のノードn25はピン数計算用集合に属して
おり、ブロック2に属している。従って、第3のノード
n23に対して該当するブロックはブロック2の1つの
みであり、ピン数計算用集合内入力ピン数は1となる。
【0123】次に、ピン数計算用集合内入出力ピン数計
算工程S404において、ピン数計算用集合内出力ピン
数である1とピン数計算用集合内入力ピン数である1の
和をとってピン数計算用集合内入出力ピン数は2とな
る。
算工程S404において、ピン数計算用集合内出力ピン
数である1とピン数計算用集合内入力ピン数である1の
和をとってピン数計算用集合内入出力ピン数は2とな
る。
【0124】次に、入出力ピン数変化計算工程S407
において、第1の分割変更工程S406Aにおける分割
変更処理を行なった後のピン数計算用集合内入出力ピン
数2から分割変更処理を行なう前のピン数計算用集合内
入出力ピン数4を差し引いた値−2が入出力ピン数変化
値となる。
において、第1の分割変更工程S406Aにおける分割
変更処理を行なった後のピン数計算用集合内入出力ピン
数2から分割変更処理を行なう前のピン数計算用集合内
入出力ピン数4を差し引いた値−2が入出力ピン数変化
値となる。
【0125】このように本変形例によると、ピン数計算
用集合のノードと該ノードに接続するエッジ、それに該
ノードに隣接するノードをも対象としているため、ブロ
ックのピンの総数の変化を計算することにより、分割の
最適化がさらに向上する共に、移動させるノードの組合
せ数の上限である選択パラメータを導入しているため、
組合せ総数が制限がされるので、処理速度の向上を図る
ことができる。 (第5の実施形態) 以下、本発明の第5の実施形態を図面を参照しながら説
明する。
用集合のノードと該ノードに接続するエッジ、それに該
ノードに隣接するノードをも対象としているため、ブロ
ックのピンの総数の変化を計算することにより、分割の
最適化がさらに向上する共に、移動させるノードの組合
せ数の上限である選択パラメータを導入しているため、
組合せ総数が制限がされるので、処理速度の向上を図る
ことができる。 (第5の実施形態) 以下、本発明の第5の実施形態を図面を参照しながら説
明する。
【0126】図20は本発明の第5の実施形態に係る回
路分割方法の工程フローを示す図である。図20におい
て、第1及び第3の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
路分割方法の工程フローを示す図である。図20におい
て、第1及び第3の実施形態における工程と同一の工程
には同一の符号を付すことにより説明を省略する。
【0127】本実施形態と図7に示した第3の実施形態
との違いのみを説明すると、本実施形態においては、選
択ブロックを移動させて分割変更を行なった際に、移動
元のブロックの大きさと移動先のブロックの大きさとを
比較して、その比率を対等となるようにしている。
との違いのみを説明すると、本実施形態においては、選
択ブロックを移動させて分割変更を行なった際に、移動
元のブロックの大きさと移動先のブロックの大きさとを
比較して、その比率を対等となるようにしている。
【0128】まず、種ノード選択工程S12において、
種ノードの条件を満たすノードを選択してカレントノー
ドを指定し、選択ノード集合を生成する。
種ノードの条件を満たすノードを選択してカレントノー
ドを指定し、選択ノード集合を生成する。
【0129】次に、変更時ブロック比率計算工程S51
において、選択ノード集合のすべてのノードを同一ブロ
ックに仮に移動し、移動元のブロックと移動先のブロッ
クにそれぞれ属するノード数の比率を計算した後、ブロ
ック比率改善判定工程S52において、変更後の比率が
変更前の比率と比べてより1に近くなっているか否かを
判定する。
において、選択ノード集合のすべてのノードを同一ブロ
ックに仮に移動し、移動元のブロックと移動先のブロッ
クにそれぞれ属するノード数の比率を計算した後、ブロ
ック比率改善判定工程S52において、変更後の比率が
変更前の比率と比べてより1に近くなっているか否かを
判定する。
【0130】次に、評価関数値取得工程としての変更時
エッジ数計算工程S53において、変更後のブロックの
比率が改善された場合に、選択ノード集合のすべてのノ
ードを同一ブロックに仮に移動させたとして、ブロック
間エッジ数を計算する。
エッジ数計算工程S53において、変更後のブロックの
比率が改善された場合に、選択ノード集合のすべてのノ
ードを同一ブロックに仮に移動させたとして、ブロック
間エッジ数を計算する。
【0131】次に、最適値更新工程としてのエッジ数最
適値更新工程S54において、ブロック間エッジ数の最
小値が初期状態であるとき、又はブロック間エッジ数が
前回までの最小値よりも小さいとき、該ブロック間エッ
ジ数をブロック間エッジ数最小値とし、選択ノード集合
を最小選択ノード集合とし、ブロックを最適ブロックと
する。
適値更新工程S54において、ブロック間エッジ数の最
小値が初期状態であるとき、又はブロック間エッジ数が
前回までの最小値よりも小さいとき、該ブロック間エッ
ジ数をブロック間エッジ数最小値とし、選択ノード集合
を最小選択ノード集合とし、ブロックを最適ブロックと
する。
【0132】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0133】図21は分割の対象とする回路の一部をグ
ラフを用いて表わした図である。図21に示すグラフは
ブロック1に3個のノードを含み、ブロック2に8個の
ノードを含んでいる。ブロック1及びブロック2に含ま
れるノードの数を改善するには、ブロック2に属するい
くつかのノードを該ブロック2からブロック1に移動さ
せる必要がある。
ラフを用いて表わした図である。図21に示すグラフは
ブロック1に3個のノードを含み、ブロック2に8個の
ノードを含んでいる。ブロック1及びブロック2に含ま
れるノードの数を改善するには、ブロック2に属するい
くつかのノードを該ブロック2からブロック1に移動さ
せる必要がある。
【0134】変更時ブロック比率計算工程S51におい
て、第3のノードn33及び第4のノードn34を同時
にブロック1に仮に移動させると、ブロック間のノード
数の比率が図21に示す変更前の3:8から図22に示
す変更後の5:6に改善されるので、変更時エッジ数計
算工程S53においてブロック間エッジ数を調べると、
該ブロック間エッジ数は増えていないことが分かる。
て、第3のノードn33及び第4のノードn34を同時
にブロック1に仮に移動させると、ブロック間のノード
数の比率が図21に示す変更前の3:8から図22に示
す変更後の5:6に改善されるので、変更時エッジ数計
算工程S53においてブロック間エッジ数を調べると、
該ブロック間エッジ数は増えていないことが分かる。
【0135】しかしながら、他のノード、例えば、第1
のノードn31をブロック1に仮に移動させるとブロッ
ク間エッジ数が逆に4から7に増えるため、図22に示
すように、エッジ数最適値更新工程S54において第3
のノードn33と第4のノードn34とが最小選択ノー
ド集合と決定され、最適ブロックが、該第3のノードn
33と該第4のノードn34とが同時に移動されたブロ
ック1となることが分かる。
のノードn31をブロック1に仮に移動させるとブロッ
ク間エッジ数が逆に4から7に増えるため、図22に示
すように、エッジ数最適値更新工程S54において第3
のノードn33と第4のノードn34とが最小選択ノー
ド集合と決定され、最適ブロックが、該第3のノードn
33と該第4のノードn34とが同時に移動されたブロ
ック1となることが分かる。
【0136】このように本実施形態によると、変更時の
ブロック間のノード数の比率を判定して、判定したうち
のノード数の比率がより1に近い場合にのみ、変更後の
ブロック間エッジ数を判定するため、分割変更を行なっ
ても、均等な大きさのブロックに分割することができる
と共に、ブロック間エッジ数を減らすことができる。 (第6の実施形態) 以下、本発明の第6の実施形態を図面を参照しながら説
明する。
ブロック間のノード数の比率を判定して、判定したうち
のノード数の比率がより1に近い場合にのみ、変更後の
ブロック間エッジ数を判定するため、分割変更を行なっ
ても、均等な大きさのブロックに分割することができる
と共に、ブロック間エッジ数を減らすことができる。 (第6の実施形態) 以下、本発明の第6の実施形態を図面を参照しながら説
明する。
【0137】図23は本発明の第6の実施形態に係る回
路分割方法の工程フローを示す図である。
路分割方法の工程フローを示す図である。
【0138】図23において、まず、回路入力工程S6
1において、分割対象とする回路を入力し、分割数設定
工程S62において自然数よりなる所望の分割数kを設
定した後、回路グラフ作成工程S63において、回路を
表現するグラフを作成する。
1において、分割対象とする回路を入力し、分割数設定
工程S62において自然数よりなる所望の分割数kを設
定した後、回路グラフ作成工程S63において、回路を
表現するグラフを作成する。
【0139】次に、クラスタ生成工程S64において、
グラフのノードをクラスタリングし、回路のk分の1の
大きさに最も近い大きさのクラスタを探し、次のブロッ
ク生成工程S65において、クラスタ生成工程S64に
おいて探し出されたクラスタをブロックとする。
グラフのノードをクラスタリングし、回路のk分の1の
大きさに最も近い大きさのクラスタを探し、次のブロッ
ク生成工程S65において、クラスタ生成工程S64に
おいて探し出されたクラスタをブロックとする。
【0140】次に、グラフ更新工程S66において、ク
ラスタリングされてブロックに含められたすべてのノー
ド及び該ノードに接続されるすべてのエッジをグラフか
ら削除して、(k−1)個のブロックが生成されるまで
クラスタ生成工程S64からくり返す。
ラスタリングされてブロックに含められたすべてのノー
ド及び該ノードに接続されるすべてのエッジをグラフか
ら削除して、(k−1)個のブロックが生成されるまで
クラスタ生成工程S64からくり返す。
【0141】次に、ブロック化工程としての回路ブロッ
ク設定工程S67において、最後に残ったノードをk番
目のブロックに含めた後、グラフ更新工程S66におい
てそれぞれ生成されたブロックを用いて各回路ブロック
を設定した後、回路分割工程S68において、各ノード
に対応する回路ブロックにしたがって回路を分割する。
ク設定工程S67において、最後に残ったノードをk番
目のブロックに含めた後、グラフ更新工程S66におい
てそれぞれ生成されたブロックを用いて各回路ブロック
を設定した後、回路分割工程S68において、各ノード
に対応する回路ブロックにしたがって回路を分割する。
【0142】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0143】図24は本実施形態の回路分割方法による
処理を工程順に表わしており、(a)は分割の対象とす
る回路の一部をグラフを用いて表わした図である。図2
4(a)に示すように、本グラフはノードn41からノ
ードn46までの6つのノードから構成されている。
処理を工程順に表わしており、(a)は分割の対象とす
る回路の一部をグラフを用いて表わした図である。図2
4(a)に示すように、本グラフはノードn41からノ
ードn46までの6つのノードから構成されている。
【0144】図24(a)に示す6つのノードからなる
グラフを3つのブロックに分割する場合を考える。
グラフを3つのブロックに分割する場合を考える。
【0145】まず、クラスタ生成工程S64において、
図24(b)に示すようにノードn41とノードn42
とをクラスタリングした後、ブロック生成工程S65に
おいてこのクラスタをブロック1とする。
図24(b)に示すようにノードn41とノードn42
とをクラスタリングした後、ブロック生成工程S65に
おいてこのクラスタをブロック1とする。
【0146】次に、グラフ更新工程S66において、ブ
ロック1に取り込まれた第1のノードn41及び第2の
ノードn42とこれらの第1のノードn41及び第2の
ノードn42に接続されるすべてのエッジを削除して、
グラフを更新した後、再び、クラスタ生成工程S64に
おいて、図24(c)に示すように第3のノードn43
と第4のノードn44とをクラスタリングして、ブロッ
ク生成工程S65において、このクラスタをブロック2
とする。
ロック1に取り込まれた第1のノードn41及び第2の
ノードn42とこれらの第1のノードn41及び第2の
ノードn42に接続されるすべてのエッジを削除して、
グラフを更新した後、再び、クラスタ生成工程S64に
おいて、図24(c)に示すように第3のノードn43
と第4のノードn44とをクラスタリングして、ブロッ
ク生成工程S65において、このクラスタをブロック2
とする。
【0147】次に、グラフ更新工程S66において、ブ
ロック2に取り込まれた第3のノードn43及び第4の
ノードn44とこれらの第3のノードn43及び第4の
ノードn44に接続されるすべてのエッジを削除して、
グラフを更新した後、図24(d)に示すように、回路
ブロック設定工程S67において最後に残った第5のノ
ードn45及び第6のノードn46をブロック3に取り
込み、グラフ更新工程S66において生成された各ブロ
ック1〜3を用いて各回路ブロックを設定する。
ロック2に取り込まれた第3のノードn43及び第4の
ノードn44とこれらの第3のノードn43及び第4の
ノードn44に接続されるすべてのエッジを削除して、
グラフを更新した後、図24(d)に示すように、回路
ブロック設定工程S67において最後に残った第5のノ
ードn45及び第6のノードn46をブロック3に取り
込み、グラフ更新工程S66において生成された各ブロ
ック1〜3を用いて各回路ブロックを設定する。
【0148】次に、回路分割工程S68において、各ノ
ードに対応する前記の回路ブロックにしたがって回路を
分割する。
ードに対応する前記の回路ブロックにしたがって回路を
分割する。
【0149】このように本実施形態によると、所望の分
割数をもとにしてクラスタ生成工程S64、ブロック生
成工程S65及びグラフ更新工程S66を繰り返すた
め、回路を均等な大きさのブロックに分割することがで
きる。 (第7の実施形態) 以下、本発明の第7の実施形態を図面を参照しながら説
明する。
割数をもとにしてクラスタ生成工程S64、ブロック生
成工程S65及びグラフ更新工程S66を繰り返すた
め、回路を均等な大きさのブロックに分割することがで
きる。 (第7の実施形態) 以下、本発明の第7の実施形態を図面を参照しながら説
明する。
【0150】図25は本発明の第7の実施形態に係る回
路分割方法の工程フローを示す図である。
路分割方法の工程フローを示す図である。
【0151】図25において、まず、回路入力工程S6
1において、分割対象とする回路を入力し、分割数設定
工程S62において自然数よりなる所望の分割数kを設
定した後、回路グラフ作成工程S63において、回路を
表現するグラフを作成する。
1において、分割対象とする回路を入力し、分割数設定
工程S62において自然数よりなる所望の分割数kを設
定した後、回路グラフ作成工程S63において、回路を
表現するグラフを作成する。
【0152】次に、エッジ間ノード数取得工程としての
エッジ重み付け工程S71において、各エッジに接続さ
れるノードが属するクラスタの大きさ(=クラスタが含
むノードの数)の和をエッジごとに計算し、計算した結
果をエッジの重みとして記憶する。
エッジ重み付け工程S71において、各エッジに接続さ
れるノードが属するクラスタの大きさ(=クラスタが含
むノードの数)の和をエッジごとに計算し、計算した結
果をエッジの重みとして記憶する。
【0153】次に、クラスタ生成工程としてのエッジ選
択工程S72において、重みが最小となるエッジに接続
されるノードが属するクラスタの組合せのうち、クラス
タリングを行なう際にクラスタ間のエッジ数が最小とな
るクラスタの組合せを選んだ後、クラスタ生成工程とし
てのクラスタリング工程S73において、前記の工程に
おいて選ばれた組合せに応じてグラフに対してクラスタ
リングを行なう。これらのエッジ重み付け工程S71か
らクラスタリング工程S73までの工程を、クラスタの
数がkになるまで繰り返す。
択工程S72において、重みが最小となるエッジに接続
されるノードが属するクラスタの組合せのうち、クラス
タリングを行なう際にクラスタ間のエッジ数が最小とな
るクラスタの組合せを選んだ後、クラスタ生成工程とし
てのクラスタリング工程S73において、前記の工程に
おいて選ばれた組合せに応じてグラフに対してクラスタ
リングを行なう。これらのエッジ重み付け工程S71か
らクラスタリング工程S73までの工程を、クラスタの
数がkになるまで繰り返す。
【0154】次に、ブロック化工程としての回路ブロッ
ク設定工程S74において、クラスタリング工程S73
においてそれぞれ生成されたクラスタを用いて各回路ブ
ロックを設定した後、回路分割工程S68において、各
ノードに対応する回路ブロックにしたがって回路を分割
する。
ク設定工程S74において、クラスタリング工程S73
においてそれぞれ生成されたクラスタを用いて各回路ブ
ロックを設定した後、回路分割工程S68において、各
ノードに対応する回路ブロックにしたがって回路を分割
する。
【0155】以下、本実施形態を具体的なデータを用い
て詳細に説明する。
て詳細に説明する。
【0156】図26は本実施形態の回路分割方法を工程
順に表わしており、(a)は分割の対象とする回路の一
部をグラフを用いて表わした図である。図26(a)に
示すように、本グラフは第1のノードn51から第6の
ノードn56までの6つのノードから構成されている。
順に表わしており、(a)は分割の対象とする回路の一
部をグラフを用いて表わした図である。図26(a)に
示すように、本グラフは第1のノードn51から第6の
ノードn56までの6つのノードから構成されている。
【0157】図26において、ノード間の各エッジに対
してノードの場合は該ノードの大きさに、クラスタの場
合は該クラスタの大きさに、それぞれ応じた重み付けを
行なうこととし、各エッジの重みを各エッジの近くに示
している。
してノードの場合は該ノードの大きさに、クラスタの場
合は該クラスタの大きさに、それぞれ応じた重み付けを
行なうこととし、各エッジの重みを各エッジの近くに示
している。
【0158】図26(a)に示すグラフを3つのブロッ
クに分割する場合を考える。
クに分割する場合を考える。
【0159】まず、クラスタリング工程S73におい
て、図26(a)に示すように第1のノードn51と第
2のノードn52とのクラスタリングを行なったする
と、次のエッジ重み付け工程S71において、例えば、
第2のノードn52と第3のノードn53とを接続する
エッジの重みは、第2のノードn52が大きさ2の第1
のクラスタc11に属しているので、第3のノードn5
3の重みである1を加えて3となる。
て、図26(a)に示すように第1のノードn51と第
2のノードn52とのクラスタリングを行なったする
と、次のエッジ重み付け工程S71において、例えば、
第2のノードn52と第3のノードn53とを接続する
エッジの重みは、第2のノードn52が大きさ2の第1
のクラスタc11に属しているので、第3のノードn5
3の重みである1を加えて3となる。
【0160】次に、エッジ選択工程S72において選択
されるエッジは、重みが最小となるエッジに接続される
ノードが属するクラスタの組合せのうち、クラスタリン
グを行なう際にクラスタ間のエッジ数が最小となるクラ
スタの組合せを選ぶため、第5のノードn55と第6の
ノードn56とを接続するエッジが選択されるので、次
のクラスタリング工程S73において、図26(b)に
示すように第5のノードn55及び第6のノードn56
に対してクラスタリングが行なって第2のクラスタc1
2を生成する。
されるエッジは、重みが最小となるエッジに接続される
ノードが属するクラスタの組合せのうち、クラスタリン
グを行なう際にクラスタ間のエッジ数が最小となるクラ
スタの組合せを選ぶため、第5のノードn55と第6の
ノードn56とを接続するエッジが選択されるので、次
のクラスタリング工程S73において、図26(b)に
示すように第5のノードn55及び第6のノードn56
に対してクラスタリングが行なって第2のクラスタc1
2を生成する。
【0161】従って、図26(c)に示すように、この
グラフの分割は最終的にそれぞれ2つのノードを有する
3つのブロックに分割される。
グラフの分割は最終的にそれぞれ2つのノードを有する
3つのブロックに分割される。
【0162】このように本実施形態によると、重みが最
小となるエッジに接続されるノードが属するようにクラ
スタリングを行なうため、必然的にノードよりも重みの
値が大きなクラスタは次のクラスタリングの際に除かれ
るので、既成のクラスタが再度クラスタリングされるこ
とがない。また、該クラスタのうちのクラスタ間のエッ
ジ数が最小となるクラスタの組合せを選ぶため、分割し
たブロックの大きさが均等となると共に、各ブロック間
の接続数を最適化することができる。 (第8の実施形態) 以下、本発明の第8の実施形態を図面を参照しながら説
明する。
小となるエッジに接続されるノードが属するようにクラ
スタリングを行なうため、必然的にノードよりも重みの
値が大きなクラスタは次のクラスタリングの際に除かれ
るので、既成のクラスタが再度クラスタリングされるこ
とがない。また、該クラスタのうちのクラスタ間のエッ
ジ数が最小となるクラスタの組合せを選ぶため、分割し
たブロックの大きさが均等となると共に、各ブロック間
の接続数を最適化することができる。 (第8の実施形態) 以下、本発明の第8の実施形態を図面を参照しながら説
明する。
【0163】図27は本発明の第8の実施形態に係る回
路分割装置を示す機能ブロック図である。図27におい
て、60は本実施形態に係る回路分割装置、61は分割
対象とするLSI回路等の回路データが記憶されている
第1の外部記憶装置、62は第1の外部記憶装置61か
ら回路・グラフ記憶手段63に回路データを取り込む回
路入力手段、63は回路又は回路をグラフ表現としたグ
ラフ等を保持すると共に各手段の演算領域を提供する内
部記憶等からなる回路・グラフ記憶手段、64は回路・
グラフ記憶手段63の所定の領域に展開された回路デー
タのうちの回路素子としてのセルをノードに対応させ、
回路の接続部品としてのネットをエッジに対応させるこ
とにより回路を表現するグラフ作成手段、65は分割に
要する処理時間をあらかじめ外部から入力できる処理時
間入力手段、66は適当に組み合わせたノードを同一の
ブロックに属するように移動させることによってグラフ
の分割を改善する際に、処理時間入力手段65を介して
入力された処理時間内に終了させることができる移動の
組合せ総数を求める組合せ数逆算手段、67は処理時間
入力手段65を介して外部から分割の処理時間が指定さ
れた場合は、移動の組合せ総数から組合せ対象のノード
数である選択パラメータを算出して設定し、外部から分
割の処理時間が指定されない場合は、適当な選択パラメ
ータ値を設定する選択パラメータ設定手段、68は外部
から分割の処理時間が指定されない場合に、選択パラメ
ータの示す個数以下のノードを組みにして、移動可能な
組合せの場合の数を計算する組合せ数逆算手段としての
組合せ数計算手段、69は外部から分割の処理時間が指
定されない場合に、移動可能な組合せの場合の数を基に
して分割の最適化に要する時間を計算する処理時間計算
手段、70は処理時間入力手段65を介して外部から分
割の処理時間が指定された場合は該処理時間を外部に出
力し、外部から分割の処理時間が指定されない場合は、
処理時間計算手段69が算出した所要時間を外部に出力
する処理時間出力手段、71はグラフの初期分割を行な
うと共に、選択パラメータが示す値以下の数に接続され
たノードを同一の初期ブロックに属するように移動させ
ることによってグラフの分割をブロック間エッジ数が最
小となるように最適化するグラフ分割手段、72は分割
されたグラフに対応する回路の分割を行なう回路分割手
段、73は第2の外部記憶装置74に分割された回路デ
ータを出力する回路出力手段、74は分割された回路デ
ータを保持するデータベース等の第2の外部記憶装置で
ある。
路分割装置を示す機能ブロック図である。図27におい
て、60は本実施形態に係る回路分割装置、61は分割
対象とするLSI回路等の回路データが記憶されている
第1の外部記憶装置、62は第1の外部記憶装置61か
ら回路・グラフ記憶手段63に回路データを取り込む回
路入力手段、63は回路又は回路をグラフ表現としたグ
ラフ等を保持すると共に各手段の演算領域を提供する内
部記憶等からなる回路・グラフ記憶手段、64は回路・
グラフ記憶手段63の所定の領域に展開された回路デー
タのうちの回路素子としてのセルをノードに対応させ、
回路の接続部品としてのネットをエッジに対応させるこ
とにより回路を表現するグラフ作成手段、65は分割に
要する処理時間をあらかじめ外部から入力できる処理時
間入力手段、66は適当に組み合わせたノードを同一の
ブロックに属するように移動させることによってグラフ
の分割を改善する際に、処理時間入力手段65を介して
入力された処理時間内に終了させることができる移動の
組合せ総数を求める組合せ数逆算手段、67は処理時間
入力手段65を介して外部から分割の処理時間が指定さ
れた場合は、移動の組合せ総数から組合せ対象のノード
数である選択パラメータを算出して設定し、外部から分
割の処理時間が指定されない場合は、適当な選択パラメ
ータ値を設定する選択パラメータ設定手段、68は外部
から分割の処理時間が指定されない場合に、選択パラメ
ータの示す個数以下のノードを組みにして、移動可能な
組合せの場合の数を計算する組合せ数逆算手段としての
組合せ数計算手段、69は外部から分割の処理時間が指
定されない場合に、移動可能な組合せの場合の数を基に
して分割の最適化に要する時間を計算する処理時間計算
手段、70は処理時間入力手段65を介して外部から分
割の処理時間が指定された場合は該処理時間を外部に出
力し、外部から分割の処理時間が指定されない場合は、
処理時間計算手段69が算出した所要時間を外部に出力
する処理時間出力手段、71はグラフの初期分割を行な
うと共に、選択パラメータが示す値以下の数に接続され
たノードを同一の初期ブロックに属するように移動させ
ることによってグラフの分割をブロック間エッジ数が最
小となるように最適化するグラフ分割手段、72は分割
されたグラフに対応する回路の分割を行なう回路分割手
段、73は第2の外部記憶装置74に分割された回路デ
ータを出力する回路出力手段、74は分割された回路デ
ータを保持するデータベース等の第2の外部記憶装置で
ある。
【0164】以下、前記のように構成された回路分割装
置の動作を説明する。
置の動作を説明する。
【0165】まず、回路入力手段62により第1の外部
記憶61から入力された回路データは、回路・グラフ記
憶手段手段63の所定のテーブル等に記憶され、グラフ
作成手段64によりグラフに表現されて、回路・グラフ
記憶手段63の所定のテーブル等に記憶される。その
後、初期化処理として、グラフ分割手段71により前記
グラフを適当な複数のブロックに分割して初期ブロック
を生成する。
記憶61から入力された回路データは、回路・グラフ記
憶手段手段63の所定のテーブル等に記憶され、グラフ
作成手段64によりグラフに表現されて、回路・グラフ
記憶手段63の所定のテーブル等に記憶される。その
後、初期化処理として、グラフ分割手段71により前記
グラフを適当な複数のブロックに分割して初期ブロック
を生成する。
【0166】次に、工程時間を外部から指定しない場合
は、選択パラメータ設定手段67により適当な選択パラ
メータを設定して、組合せ数計算手段68により選択パ
ラメータの個数以下のノードを組みにして移動が可能な
組合せの数を計算する。次に、処理時間計算手段69
は、該組合せの数と、1組のノードを同一の初期ブロッ
クに移動させて行なう分割を評価するのにかかる時間と
の積から分割処理時間を計算し、処理時間出力手段70
により分割処理時間を表示する。
は、選択パラメータ設定手段67により適当な選択パラ
メータを設定して、組合せ数計算手段68により選択パ
ラメータの個数以下のノードを組みにして移動が可能な
組合せの数を計算する。次に、処理時間計算手段69
は、該組合せの数と、1組のノードを同一の初期ブロッ
クに移動させて行なう分割を評価するのにかかる時間と
の積から分割処理時間を計算し、処理時間出力手段70
により分割処理時間を表示する。
【0167】一方、処理時間を外部から指定する場合
は、処理時間入力手段65を介して指定された処理時間
をそのまま処理時間出力手段70を介して出力すると共
に、組合せ数逆算手段66により適当に組み合わせた一
組のノードを同一の初期ブロックに属するように移動さ
せて分割を評価し、グラフの分割が指定の時間内にでき
るノードの組合せの数を求める。次に、選択パラメータ
設定手段67によりこの組合せの数から選択パラメータ
を算出して設定する。
は、処理時間入力手段65を介して指定された処理時間
をそのまま処理時間出力手段70を介して出力すると共
に、組合せ数逆算手段66により適当に組み合わせた一
組のノードを同一の初期ブロックに属するように移動さ
せて分割を評価し、グラフの分割が指定の時間内にでき
るノードの組合せの数を求める。次に、選択パラメータ
設定手段67によりこの組合せの数から選択パラメータ
を算出して設定する。
【0168】次に、グラフ分割手段71により選択パラ
メータの示す個数以下のノードを同一の初期ブロックに
移動させて、各ブロック間のエッジ数が最小となるよう
な分割データを求める。
メータの示す個数以下のノードを同一の初期ブロックに
移動させて、各ブロック間のエッジ数が最小となるよう
な分割データを求める。
【0169】次に、回路分割手段72により分割データ
と等価となるように回路の分割を行なって回路データを
作成し、分割されてなる該回路データを第2の外部記憶
装置74に出力する。
と等価となるように回路の分割を行なって回路データを
作成し、分割されてなる該回路データを第2の外部記憶
装置74に出力する。
【0170】このように本実施形態によると、組合せ対
象のノード数を指定する選択パラメータを設定する場合
は、組合せ総数に上限を設けることができるため、処理
時間の短縮化を図ることができる。
象のノード数を指定する選択パラメータを設定する場合
は、組合せ総数に上限を設けることができるため、処理
時間の短縮化を図ることができる。
【0171】また、外部から分割に要する処理時間をあ
らかじめ設定できるため、処理時間に見合った選択パラ
メータが設定されるので、分割の最適化と処理時間とに
折り合いを付けることができる。
らかじめ設定できるため、処理時間に見合った選択パラ
メータが設定されるので、分割の最適化と処理時間とに
折り合いを付けることができる。
【0172】
【発明の効果】請求項1の発明に係る回路分割方法によ
ると、初期ブロック間を移動させる組合せ対象とするノ
ードの数を指定する選択パラメータが、移動可能な組合
せの総数に上限を設けるため、処理時間を短縮すること
ができる。
ると、初期ブロック間を移動させる組合せ対象とするノ
ードの数を指定する選択パラメータが、移動可能な組合
せの総数に上限を設けるため、処理時間を短縮すること
ができる。
【0173】また、互いに隣接するノード同士が互いに
異なる初期ブロックに属するノードである種ノードを対
象として同一の初期ブロックに属するように順次移動さ
せるため、ブロック間のエッジ数が最小となるノードの
組合せを効率良く求めることができるため、回路を分割
した際に回路のブロック間の接続を最小とする最適化を
図ることができる。
異なる初期ブロックに属するノードである種ノードを対
象として同一の初期ブロックに属するように順次移動さ
せるため、ブロック間のエッジ数が最小となるノードの
組合せを効率良く求めることができるため、回路を分割
した際に回路のブロック間の接続を最小とする最適化を
図ることができる。
【0174】請求項2の発明に係る回路分割方法による
と、選択パラメータを大きくしながらノードの組合せ総
数を調べることにより、ノードの組合せ総数が所望の規
定値に近い選択パラメータを確実に求めることができ
る。
と、選択パラメータを大きくしながらノードの組合せ総
数を調べることにより、ノードの組合せ総数が所望の規
定値に近い選択パラメータを確実に求めることができ
る。
【0175】さらに、前記の規定値を変更することによ
って、分割の処理時間と処理結果とを調整することがで
きる。
って、分割の処理時間と処理結果とを調整することがで
きる。
【0176】請求項3の発明に係る回路分割方法による
と、選択パラメータを対数関数を用いて求めているた
め、大規模回路において組合せの数が指数関数的に増大
するのを防ぐことができるので、短時間にブロック間エ
ッジ数が最適化される分割結果を得ることができる。
と、選択パラメータを対数関数を用いて求めているた
め、大規模回路において組合せの数が指数関数的に増大
するのを防ぐことができるので、短時間にブロック間エ
ッジ数が最適化される分割結果を得ることができる。
【0177】また、グラフの規模、すなわち、回路の規
模に応じて選択パラメータを決めることができるため、
規模の大きな回路の場合は多くのノードの組合せの中か
らブロック間エッジ数がより少なくなるものを選ぶこと
ができ、規模の小さい回路の場合は組合せを少なくする
こができるので、処理時間を短縮することができる。
模に応じて選択パラメータを決めることができるため、
規模の大きな回路の場合は多くのノードの組合せの中か
らブロック間エッジ数がより少なくなるものを選ぶこと
ができ、規模の小さい回路の場合は組合せを少なくする
こができるので、処理時間を短縮することができる。
【0178】請求項4の発明に係る回路分割方法による
と、種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成し、カレントノードを同一の初期ブロック
に属するように移動させた場合に、接続された各ノード
が属する初期ブロックが互いに異なる場合の該初期ブロ
ック間にまたがるエッジの数を評価関数値とし、さら
に、選択パラメータの示す値に達するまで、カレントノ
ードを1つずつ追加して移動させるため、短時間にブロ
ック間エッジ数が最適化された分割結果を確実に得るこ
とができる。
と、種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成し、カレントノードを同一の初期ブロック
に属するように移動させた場合に、接続された各ノード
が属する初期ブロックが互いに異なる場合の該初期ブロ
ック間にまたがるエッジの数を評価関数値とし、さら
に、選択パラメータの示す値に達するまで、カレントノ
ードを1つずつ追加して移動させるため、短時間にブロ
ック間エッジ数が最適化された分割結果を確実に得るこ
とができる。
【0179】請求項5の発明に係る回路分割方法による
と、種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成し、カレントノードを始点とする所定の長
さ以内に接続されたノードの数を計算した後、カレント
ノードに隣接するノード数を多く有する場合は選択パラ
メータを減らし、カレントノードに隣接するノード数が
少ない場合は選択パラメータを増やすように調整してい
る。従って、カレントノードに隣接するノード数が多い
場合は、選択パラメータを小さくして組合せの総数を減
らすことにより処理時間を一層抑制することができ、ま
た、カレントノードに隣接ノード数が少ない場合は選択
パラメータを大きくして移動することができるノード数
を増やすことによりブロック間エッジ数を最小とする最
適化を図ることができる。
と、種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成し、カレントノードを始点とする所定の長
さ以内に接続されたノードの数を計算した後、カレント
ノードに隣接するノード数を多く有する場合は選択パラ
メータを減らし、カレントノードに隣接するノード数が
少ない場合は選択パラメータを増やすように調整してい
る。従って、カレントノードに隣接するノード数が多い
場合は、選択パラメータを小さくして組合せの総数を減
らすことにより処理時間を一層抑制することができ、ま
た、カレントノードに隣接ノード数が少ない場合は選択
パラメータを大きくして移動することができるノード数
を増やすことによりブロック間エッジ数を最小とする最
適化を図ることができる。
【0180】請求項6の発明に係る回路分割方法による
と、接続された各ノードが属する初期ブロックが互いに
異なる場合の該初期ブロック間にまたがるエッジ数を評
価関数として用いているため、回路のブロック間の接続
を確実に少なくすることができる。
と、接続された各ノードが属する初期ブロックが互いに
異なる場合の該初期ブロック間にまたがるエッジ数を評
価関数として用いているため、回路のブロック間の接続
を確実に少なくすることができる。
【0181】請求項7の発明に係る回路分割方法による
と、回路グラフ作成工程におけるグラフは、該グラフの
エッジが始点から終点に向かう方向性を有する有向グラ
フを用いて表わされており、複数のノードのうち、始点
となるノードであって、該始点となるノードと異なる初
期ブロックに属するノードを終点とするエッジを有する
ノードの数を出力ピン数とし、該出力ピン数を評価関数
値としているため、回路のネット数を確実に反映した最
適値を得ることができる。
と、回路グラフ作成工程におけるグラフは、該グラフの
エッジが始点から終点に向かう方向性を有する有向グラ
フを用いて表わされており、複数のノードのうち、始点
となるノードであって、該始点となるノードと異なる初
期ブロックに属するノードを終点とするエッジを有する
ノードの数を出力ピン数とし、該出力ピン数を評価関数
値としているため、回路のネット数を確実に反映した最
適値を得ることができる。
【0182】請求項8の発明に係る回路分割方法による
と、エッジの終点となるノードが属する初期ブロックの
うち前記エッジの始点となるノードが属する初期ブロッ
クと異なる初期ブロックの数をすべてのエッジの始点と
なるノードごとに加算して得られる入力ピン数を出力ピ
ン数に加えることにより初期ブロックのピン数を求めて
いるため、回路のピン数を確実に反映した分割の最適値
を得ることができる。
と、エッジの終点となるノードが属する初期ブロックの
うち前記エッジの始点となるノードが属する初期ブロッ
クと異なる初期ブロックの数をすべてのエッジの始点と
なるノードごとに加算して得られる入力ピン数を出力ピ
ン数に加えることにより初期ブロックのピン数を求めて
いるため、回路のピン数を確実に反映した分割の最適値
を得ることができる。
【0183】請求項9の発明に係る回路分割方法による
と、回路グラフ作成工程におけるグラフは、該グラフの
エッジが始点から終点に向かう方向性を有する有向グラ
フを用いて表わされており、カレントノードと少なくと
も1つのカレントノードに隣接するノードとからなるピ
ン数計算用集合を生成しているため、回路全体の入出力
ピン数を計算する必要がなくなるので、分割の処理速度
を向上することができると共に、分割変更時のピン数の
変化を確実に計算することができる。
と、回路グラフ作成工程におけるグラフは、該グラフの
エッジが始点から終点に向かう方向性を有する有向グラ
フを用いて表わされており、カレントノードと少なくと
も1つのカレントノードに隣接するノードとからなるピ
ン数計算用集合を生成しているため、回路全体の入出力
ピン数を計算する必要がなくなるので、分割の処理速度
を向上することができると共に、分割変更時のピン数の
変化を確実に計算することができる。
【0184】請求項10の発明に係る回路分割方法によ
ると、分割変更時のブロック間のノード数の比率を判定
して、判定したうちの比率がより1に近い場合にのみ、
変更後のブロック間エッジ数を判定するため、分割変更
を行なっても、均等な大きさのブロックに分割すること
ができると共に、ブロック間エッジ数を減らすことがで
きる。
ると、分割変更時のブロック間のノード数の比率を判定
して、判定したうちの比率がより1に近い場合にのみ、
変更後のブロック間エッジ数を判定するため、分割変更
を行なっても、均等な大きさのブロックに分割すること
ができると共に、ブロック間エッジ数を減らすことがで
きる。
【0185】請求項11の発明に係る回路分割装置によ
ると、初期ブロック間を移動させる組合せ対象とするノ
ードの数を設定する選択パラメータを導入しているた
め、初期ブロック間を移動可能な組合せ総数に上限を設
けることができると共に、選択パラメータが示す値以下
の数に接続されたノードを同一の初期ブロックに属する
ように移動させるため、ブロック間のエッジ数が最小と
なるノードの組合せを求めることができる。従って、短
時間に回路のブロック間の接続を最小とする最適化を図
ることができる。
ると、初期ブロック間を移動させる組合せ対象とするノ
ードの数を設定する選択パラメータを導入しているた
め、初期ブロック間を移動可能な組合せ総数に上限を設
けることができると共に、選択パラメータが示す値以下
の数に接続されたノードを同一の初期ブロックに属する
ように移動させるため、ブロック間のエッジ数が最小と
なるノードの組合せを求めることができる。従って、短
時間に回路のブロック間の接続を最小とする最適化を図
ることができる。
【0186】請求項12の発明に係る回路分割装置によ
ると、該回路分割装置の外部から分割に要する処理時間
をあらかじめ設定できるため、処理時間に見合った選択
パラメータが設定されると共に、選択パラメータが示す
値以下の数に接続されたノードを同一の初期ブロックに
属するように移動させるため、ブロック間のエッジ数が
最小となるノードの組合せを所望の時間内に求めること
ができる。従って、所望の時間内において回路のブロッ
ク間の接続を最小とする最適化を図ることができる。
ると、該回路分割装置の外部から分割に要する処理時間
をあらかじめ設定できるため、処理時間に見合った選択
パラメータが設定されると共に、選択パラメータが示す
値以下の数に接続されたノードを同一の初期ブロックに
属するように移動させるため、ブロック間のエッジ数が
最小となるノードの組合せを所望の時間内に求めること
ができる。従って、所望の時間内において回路のブロッ
ク間の接続を最小とする最適化を図ることができる。
【図1】本発明の第1の実施形態に係る回路分割方法の
工程フローを示す図である。
工程フローを示す図である。
【図2】本発明の第1の実施形態に係る分割対象の回路
をグラフにより表現した図である。
をグラフにより表現した図である。
【図3】本発明の第1の実施形態に係る回路分割方法に
より分割が改善されたグラフを表わす図である。
より分割が改善されたグラフを表わす図である。
【図4】本発明の第2の実施形態に係る回路分割方法の
工程フローを示す図である。
工程フローを示す図である。
【図5】本発明の第2の実施形態に係る分割対象の回路
をグラフにより表現した図である。
をグラフにより表現した図である。
【図6】本発明の第2の実施形態に係る分割対象の回路
をグラフにより表現した図である。
をグラフにより表現した図である。
【図7】本発明の第3の実施形態に係る回路分割方法の
工程フローを示す図である。
工程フローを示す図である。
【図8】本発明の第3の実施形態に係る分割対象の回路
の一部をグラフにより表現した図である。
の一部をグラフにより表現した図である。
【図9】本発明の第3の実施形態に係る分割対象の回路
の一部をグラフにより表現した図である。
の一部をグラフにより表現した図である。
【図10】本発明の第3の実施形態に係る分割対象の回
路の一部をグラフにより表現した図である。
路の一部をグラフにより表現した図である。
【図11】本発明の第3の実施形態に係る分割対象の回
路の一部をグラフにより表現した図である。
路の一部をグラフにより表現した図である。
【図12】本発明の第3の実施形態に係る「道」を説明
するグラフを示した図である。
するグラフを示した図である。
【図13】本発明の第4の実施形態に係る回路分割方法
の工程フローを示す図である。
の工程フローを示す図である。
【図14】本発明の第4の実施形態に係る分割対象の回
路の一部を示す図である。
路の一部を示す図である。
【図15】本発明の第4の実施形態に係る分割対象の回
路の一部をグラフにより表現した図である。
路の一部をグラフにより表現した図である。
【図16】本発明の第4の実施形態に係る分割対象の回
路の一部を有向グラフにより表現した図である。
路の一部を有向グラフにより表現した図である。
【図17】本発明の第4の実施形態の一変形例に係る回
路分割方法の工程サブフローを示す図である。
路分割方法の工程サブフローを示す図である。
【図18】本発明の第4の実施形態の一変形例に係る分
割対象の回路の一部を有向グラフにより表現した図であ
る。
割対象の回路の一部を有向グラフにより表現した図であ
る。
【図19】本発明の第4の実施形態の一変形例に係る回
路分割方法により分割が改善された有向グラフを表わす
図である。
路分割方法により分割が改善された有向グラフを表わす
図である。
【図20】本発明の第5の実施形態に係る回路分割方法
の工程フローを示す図である。
の工程フローを示す図である。
【図21】本発明の第5の実施形態に係る分割対象の回
路の一部をグラフにより表現した図である。
路の一部をグラフにより表現した図である。
【図22】本発明の第5の実施形態に係る回路分割方法
により分割が改善されたグラフを表わす図である。
により分割が改善されたグラフを表わす図である。
【図23】本発明の第6の実施形態に係る回路分割方法
の工程フローを示す図である。
の工程フローを示す図である。
【図24】本発明の第6の実施形態に係る回路分割方法
による操作を工程順に示し、 (a)は分割対象の回路の一部をグラフにより表現した
図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図であり、 (d)は(c)に示すグラフに対してクラスタリングを
行なう図である。
による操作を工程順に示し、 (a)は分割対象の回路の一部をグラフにより表現した
図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図であり、 (d)は(c)に示すグラフに対してクラスタリングを
行なう図である。
【図25】本発明の第7の実施形態に係る回路分割方法
の工程フローを示す図である。
の工程フローを示す図である。
【図26】本発明の第7の実施形態に係る回路分割方法
による操作を工程順に示し、 (a)は分割対象の回路の一部をグラフにより表現し、
該グラフに対してクラスタリングを行なう図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図である。
による操作を工程順に示し、 (a)は分割対象の回路の一部をグラフにより表現し、
該グラフに対してクラスタリングを行なう図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図である。
【図27】本発明の第8の実施形態に係る回路分割装置
を示す機能ブロック図である。
を示す機能ブロック図である。
【図28】従来の回路分割方法による分割対象の回路の
一部をグラフにより表現した図である。
一部をグラフにより表現した図である。
【図29】従来の回路分割方法による操作を工程順に示
し、 (a)は分割対象の回路の一部をグラフにより表現し、
該グラフに対してクラスタリングを行なう図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図であり、 (d)は(c)に示すグラフに対してクラスタリングを
行なう図である。
し、 (a)は分割対象の回路の一部をグラフにより表現し、
該グラフに対してクラスタリングを行なう図であり、 (b)は(a)に示すグラフに対してクラスタリングを
行なう図であり、 (c)は(b)に示すグラフに対してクラスタリングを
行なう図であり、 (d)は(c)に示すグラフに対してクラスタリングを
行なう図である。
【図30】従来の回路分割方法による操作を工程順に示
し、 (a)はグラフに対してクラスタリングを行なった結果
のクラスタリングツリーを示す図であり、 (b)はクラスタリングが終了し、ブロック化されたグ
ラフを示す図である。
し、 (a)はグラフに対してクラスタリングを行なった結果
のクラスタリングツリーを示す図であり、 (b)はクラスタリングが終了し、ブロック化されたグ
ラフを示す図である。
S01 回路グラフ作成工程 S02 初期分割生成工程 S03 選択パラメータ初期化工程 S04 種ノード集合生成工程 S05 計算情報初期化工程(選択パラメータ設定
工程) S06 未計算種ノード判定工程(選択パラメータ
設定工程) S07A 第1の種ノード選択工程(選択パラメータ
設定工程) S08 ノード組合せ数計算工程(選択パラメータ
設定工程) S09 ノード組合せ数判定工程(選択パラメータ
設定工程) S10 選択パラメータインクリメント工程(選択
パラメータ設定工程) S11 未処理種ノード判定工程 S12 種ノード選択工程 S12A 第2の種ノード選択工程 S13 分割最適化工程(最適化工程) S14 回路ブロック設定工程(ブロック化工程) S15 回路分割工程(ブロック化工程) 11 ノード 12 エッジ 13 ノード 14 ノード n1 第1のノード n2 第2のノード n3 第3のノード n4 第4のノード n5 第5のノード S21 総ピン数計算工程 S22 選択パラメータ計算工程 n6 第1のノード S31 選択パラメータ設定工程 S32 隣接ノード数計算工程 S33 選択パラメータ調整工程 S34 変更時評価関数計算工程(評価関数値取得
工程) S35 最適値更新工程 S36 選択ノード数判定工程 S37 隣接ノード選択工程 S38 分割変更工程 S38A 第2の分割変更工程 n7 第1のノード n8 第2のノード n9 第3のノード n10 第1のノード n11 第1のノード n12 第2のノード n13 第3のノード n14 第1のノード n15 第2のノード n16 第3のノード n17 第4のノード n18 第5のノード n19 第1のノード n20 第2のノード S41 回路有向グラフ作成工程 S42A 第1の分割変更工程 S43 出力ピン数計算工程(評価関数値取得工
程) S44 入力ピン数計算工程(評価関数値取得工
程) S45 最適値更新工程 S46 分割変更取消工程(分割変更工程) 21 第1の回路素子 22 第2の回路素子 23 第3の回路素子 24 第4の回路素子 25 第5の回路素子 26 ネット 27 第1のブロック 28 第2のブロック 29 第3のブロック 27A 第1のブロック 28A 第2のブロック 29A 第3のブロック 21A 第1のノード 22A 第2のノード 23A 第3のノード 24A 第4のノード 25A 第5のノード 30A 第1のエッジ 31A 第2のエッジ 32A 第3のエッジ 33A 第4のエッジ 30B 第1のエッジ 31B 第2のエッジ 32B 第3のエッジ 33B 第4のエッジ S401 ピン数計算用集合生成工程 S402 ピン数計算用集合内出力ピン数計算工程(入
出力ピン数取得工程) S403 ピン数計算用集合内入力ピン数計算工程(入
出力ピン数取得工程) S404 ピン数計算用集合内入出力ピン数計算工程
(入出力ピン数取得工程) S405 分割変更済判定工程 S406A 第1の分割変更工程 S407 入出力ピン数変化計算工程(評価関数値取
得工程) S408 ピン数変化最適値更新工程(最適値更新工
程) S409 分割変更取消工程 n21 第1のノード n22 第2のノード n23 第3のノード n24 第4のノード n25 第5のノード 41 第1のエッジ 42 第2のエッジ 43 第3のエッジ 44 第4のエッジ 45 第5のエッジ S51 変更時ブロック比率計算工程 S52 ブロック比率改善判定工程 S53 変更時エッジ数計算工程(評価関数値取得
工程) S54 エッジ数最適値更新工程(最適値更新工
程) n31 第1のノード n32 第2のノード n33 第3のノード n34 第4のノード S61 回路入力工程 S62 分割数設定工程 S63 回路グラフ作成工程 S64 クラスタ生成工程 S65 ブロック生成工程 S66 グラフ更新工程 S67 回路ブロック設定工程(ブロック化工程) S68 回路分割工程 n41 第1のノード n42 第2のノード n43 第3のノード n44 第4のノード n45 第5のノード n46 第6のノード S71 エッジ重み付け工程(エッジ間ノード数取
得工程) S72 エッジ選択工程(クラスタ生成工程) S73 クラスタリング工程(クラスタ生成工程) S74 回路ブロック設定工程(ブロック化工程) n51 第1のノード n52 第2のノード n53 第3のノード n54 第4のノード n55 第5のノード n56 第6のノード c11 第1のクラスタ c12 第2のクラスタ 60 回路分割装置 61 第1の外部記憶装置 62 回路入力手段 63 回路・グラフ記憶手段 64 グラフ作成手段 65 処理時間入力手段 66 組合せ数逆算手段 67 選択パラメータ設定手段 68 組合せ数計算手段(組合せ数逆算手段) 69 処理時間計算手段 70 処理時間出力手段 71 グラフ分割手段 72 回路分割手段 73 回路出力手段 74 第2の外部記憶装置
工程) S06 未計算種ノード判定工程(選択パラメータ
設定工程) S07A 第1の種ノード選択工程(選択パラメータ
設定工程) S08 ノード組合せ数計算工程(選択パラメータ
設定工程) S09 ノード組合せ数判定工程(選択パラメータ
設定工程) S10 選択パラメータインクリメント工程(選択
パラメータ設定工程) S11 未処理種ノード判定工程 S12 種ノード選択工程 S12A 第2の種ノード選択工程 S13 分割最適化工程(最適化工程) S14 回路ブロック設定工程(ブロック化工程) S15 回路分割工程(ブロック化工程) 11 ノード 12 エッジ 13 ノード 14 ノード n1 第1のノード n2 第2のノード n3 第3のノード n4 第4のノード n5 第5のノード S21 総ピン数計算工程 S22 選択パラメータ計算工程 n6 第1のノード S31 選択パラメータ設定工程 S32 隣接ノード数計算工程 S33 選択パラメータ調整工程 S34 変更時評価関数計算工程(評価関数値取得
工程) S35 最適値更新工程 S36 選択ノード数判定工程 S37 隣接ノード選択工程 S38 分割変更工程 S38A 第2の分割変更工程 n7 第1のノード n8 第2のノード n9 第3のノード n10 第1のノード n11 第1のノード n12 第2のノード n13 第3のノード n14 第1のノード n15 第2のノード n16 第3のノード n17 第4のノード n18 第5のノード n19 第1のノード n20 第2のノード S41 回路有向グラフ作成工程 S42A 第1の分割変更工程 S43 出力ピン数計算工程(評価関数値取得工
程) S44 入力ピン数計算工程(評価関数値取得工
程) S45 最適値更新工程 S46 分割変更取消工程(分割変更工程) 21 第1の回路素子 22 第2の回路素子 23 第3の回路素子 24 第4の回路素子 25 第5の回路素子 26 ネット 27 第1のブロック 28 第2のブロック 29 第3のブロック 27A 第1のブロック 28A 第2のブロック 29A 第3のブロック 21A 第1のノード 22A 第2のノード 23A 第3のノード 24A 第4のノード 25A 第5のノード 30A 第1のエッジ 31A 第2のエッジ 32A 第3のエッジ 33A 第4のエッジ 30B 第1のエッジ 31B 第2のエッジ 32B 第3のエッジ 33B 第4のエッジ S401 ピン数計算用集合生成工程 S402 ピン数計算用集合内出力ピン数計算工程(入
出力ピン数取得工程) S403 ピン数計算用集合内入力ピン数計算工程(入
出力ピン数取得工程) S404 ピン数計算用集合内入出力ピン数計算工程
(入出力ピン数取得工程) S405 分割変更済判定工程 S406A 第1の分割変更工程 S407 入出力ピン数変化計算工程(評価関数値取
得工程) S408 ピン数変化最適値更新工程(最適値更新工
程) S409 分割変更取消工程 n21 第1のノード n22 第2のノード n23 第3のノード n24 第4のノード n25 第5のノード 41 第1のエッジ 42 第2のエッジ 43 第3のエッジ 44 第4のエッジ 45 第5のエッジ S51 変更時ブロック比率計算工程 S52 ブロック比率改善判定工程 S53 変更時エッジ数計算工程(評価関数値取得
工程) S54 エッジ数最適値更新工程(最適値更新工
程) n31 第1のノード n32 第2のノード n33 第3のノード n34 第4のノード S61 回路入力工程 S62 分割数設定工程 S63 回路グラフ作成工程 S64 クラスタ生成工程 S65 ブロック生成工程 S66 グラフ更新工程 S67 回路ブロック設定工程(ブロック化工程) S68 回路分割工程 n41 第1のノード n42 第2のノード n43 第3のノード n44 第4のノード n45 第5のノード n46 第6のノード S71 エッジ重み付け工程(エッジ間ノード数取
得工程) S72 エッジ選択工程(クラスタ生成工程) S73 クラスタリング工程(クラスタ生成工程) S74 回路ブロック設定工程(ブロック化工程) n51 第1のノード n52 第2のノード n53 第3のノード n54 第4のノード n55 第5のノード n56 第6のノード c11 第1のクラスタ c12 第2のクラスタ 60 回路分割装置 61 第1の外部記憶装置 62 回路入力手段 63 回路・グラフ記憶手段 64 グラフ作成手段 65 処理時間入力手段 66 組合せ数逆算手段 67 選択パラメータ設定手段 68 組合せ数計算手段(組合せ数逆算手段) 69 処理時間計算手段 70 処理時間出力手段 71 グラフ分割手段 72 回路分割手段 73 回路出力手段 74 第2の外部記憶装置
Claims (12)
- 【請求項1】 複数の回路素子と該回路素子同士を接続
する接続部品とからなる回路を複数のブロックに分割す
る回路分割方法であって、 前記複数の回路素子をそれぞれノードとし、前記接続部
品をエッジとするグラフを作成する回路グラフ作成工程
と、 前記グラフを適当な複数のブロックに分割して初期ブロ
ックを生成する初期分割生成工程と、 前記複数のノードのうち、互いに隣接するノード同士で
且つ互いに異なる初期ブロックに属するノードを種ノー
ドとし、該種ノードを少なくとも1つ選択して種ノード
集合を生成する種ノード集合生成工程と、 前記初期ブロック間を移動させる組合せ対象のノードの
数を指定する選択パラメータを設定する選択パラメータ
設定工程と、 前記選択パラメータが示す値以下の数に組み合わされた
前記種ノードを同一の初期ブロックに属するように移動
させることにより、前記初期ブロック間にまたがるエッ
ジの数を減少させる最適化工程と、 最適化された種ノードを含む1つ以上のノードからなる
グラフが属するブロックに対応するように前記回路をブ
ロック化するブロック化工程とを備えていることを特徴
とする回路分割方法。 - 【請求項2】 前記選択パラメータ設定工程は、 選択パラメータを初期化する工程と、 前記種ノード集合から前記選択パラメータが示す個数の
種ノードを選択して、該種ノードを用いて組み合わされ
た組合せ総数を計算し、該組合せ総数が規定値を超える
まで前記選択パラメータに1を加算する処理を繰り返す
ことにより、選択パラメータを決定する工程とを含むこ
とを特徴とする請求項1に記載の回路分割方法。 - 【請求項3】 前記選択パラメータ設定工程は、 前記複数のノードのすべてにそれぞれ接続されるエッジ
の総数である総ピン数を求めた後、前記総ピン数の対数
値に最も近い自然数を選択パラメータとする工程を含む
ことを特徴とする請求項1に記載の回路分割方法。 - 【請求項4】 前記最適化工程は、 前記種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成する種ノード選択工程と、 前記カレントノードを同一の初期ブロックに属するよう
に仮に移動させたときに、接続された各ノードが属する
初期ブロックが互いに異なる場合の該初期ブロック間に
またがるエッジの数を評価関数値とする評価関数値取得
工程と、 前記評価関数値が最小値となる場合は、前記選択ノード
集合を最小選択ノード集合とし、前記カレントノードを
含む初期ブロックを最適ブロックとする最適値更新工程
と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えていないときに、前記カレントノードに隣接する
1つのノードを選択して共に新たなカレントノードと
し、該カレントノードを前記選択ノード集合に追加する
隣接ノード選択工程と、前記評価関数値取得工程及び前
記最適値更新工程を繰り返して行なう第1の繰り返し工
程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えたときに、前記最小選択ノード集合を前記最適ブ
ロックに移動する分割変更工程と、前記種ノード選択工
程、前記評価関数値取得工程及び前記最適値更新工程
を、前記種ノード集合のすべての種ノードを順次選択し
終えるまで繰り返して行なう第2の繰り返し工程とを含
むことを特徴とする請求項1に記載の回路分割方法。 - 【請求項5】 前記最適化工程は、 前記種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成する種ノード選択工程と、 ノードとエッジとが交互に並び、且つ、互いに隣接する
前記ノードと前記エッジとが接続されてなる道であって
前記カレントノードを始点とする所定の長さ以下の道の
上にあるノードの数を計算した後、前記ノードの数の値
に応じて前記選択パラメータを増減して調整する選択パ
ラメータ調整工程と、 前記カレントノードを同一のブロックに属するように仮
に移動させた場合に、移動させた状態の分割を評価する
評価関数から評価関数値を得る評価関数値取得工程と、 前記評価関数値が最小値となる場合は、前記選択ノード
集合を最小選択ノード集合とし、前記カレントノードを
含むブロックを最適ブロックとする最適値更新工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えていないときに、前記カレントノードに隣接する
1つのノードを選択して共に新たなカレントノードと
し、該カレントノードを前記選択ノード集合に追加する
隣接ノード選択工程と、前記選択パラメータ調整工程、
前記評価関数値取得工程及び前記最適値更新工程を繰り
返して行なう第1の繰り返し工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えたときに、前記最小選択ノード集合を前記最適ブ
ロックに移動する分割変更工程と、前記種ノード選択工
程、前記選択パラメータ調整工程、前記評価関数値取得
工程及び前記最適値更新工程を、前記種ノード集合のす
べての種ノードを順次選択し終えるまで繰り返して行な
う第2の繰り返し工程とを含むことを特徴とする請求項
1に記載の回路分割方法。 - 【請求項6】 前記評価関数を、接続された各ノードが
属するブロックが互いに異なる場合の該ブロック間にま
たがるエッジの数とする請求項5に記載の回路分割方
法。 - 【請求項7】 前記回路グラフ作成工程におけるグラフ
は、該グラフのエッジが始点から終点に向かう方向性を
有する有向グラフであり、 前記最適化工程は、 前記種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成する種ノード選択工程と、 前記カレントノードを同一のブロックに属するように移
動させる第1の分割変更工程と、 複数のノードのうち、始点となるノードであって、該始
点となるノードと異なる初期ブロックに属するノードを
終点とするエッジを有するノードの数を出力ピン数と
し、該出力ピン数を評価関数値とする評価関数値取得工
程と、 前記評価関数値が最小値となる場合は、前記選択ノード
集合を最小選択ノード集合とし、前記カレントノードを
含む初期ブロックを最適ブロックとする最適値更新工程
と、 前記第1の分割変更工程において移動させた前記カレン
トノードを元の初期ブロックに戻す分割取消工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えていないときに、前記カレントノードに隣接する
1つのノードを選択して共に新たなカレントノードと
し、該カレントノードを前記選択ノード集合に追加する
隣接ノード選択工程と、前記第1の分割変更工程、前記
評価関数値取得工程、前記最適値更新工程及び前記分割
取消工程を繰り返して行なう第1の繰り返し工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えたときに、前記最小選択ノード集合を前記最適ブ
ロックに移動する分割変更工程と、前記種ノード選択工
程、前記第1の分割変更工程、前記評価関数値取得工
程、前記最適値更新工程及び前記分割取消工程を、前記
種ノード集合のすべての種ノードを順次選択し終えるま
で繰り返して行なう第2の繰り返し工程とを含むことを
特徴とする請求項1に記載の回路分割方法。 - 【請求項8】 前記評価関数値取得工程における評価関
数値として、 前記出力ピン数に、 エッジの終点となるノードが属する初期ブロックのうち
前記エッジの始点となるノードが属する初期ブロックと
異なる初期ブロックの数をすべてのエッジの始点となる
ノードごとに加算して得られる入力ピン数を加えること
を特徴とする請求項7に記載の回路分割方法。 - 【請求項9】 前記回路グラフ作成工程におけるグラフ
は、該グラフのエッジが始点から終点に向かう方向性を
有する有向グラフであり、 前記最適化工程は、 前記種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成する種ノード選択工程と、 前記選択ノード集合のカレントノードと前記選択ノード
集合の少なくとも1つのカレントノードに隣接するノー
ドとからなるピン数計算用集合を生成するピン数計算用
集合生成工程と、 前記ピン数計算用集合におけるノードのうち、始点とな
るノードであって、該始点となるノードと異なる初期ブ
ロックに属し、且つ、前記ピン数計算用集合に属するノ
ードを終点とするエッジを有するノードの数である出力
ピン数と、エッジの終点となり且つ前記ピン数計算用集
合に含まれるノードが属する初期ブロックのうち前記エ
ッジの始点となるノードが属する初期ブロックと異なる
初期ブロックの数を、すべてのエッジの始点となるノー
ドごとに加算して得られる入力ピン数との和である第1
の入出力ピン数を求める入出力ピン数取得工程と、 分割変更を終えていない場合に、前記カレントノードを
同一の初期ブロックに属するように移動させた後、移動
後の入出力ピン数である第2の入出力ピン数を得るため
に前記入出力ピン数取得工程を繰り返して行なう第1の
分割変更工程と、 前記第1の入出力ピン数と前記第2の入出力ピン数との
差を評価関数値とする評価関数値取得工程と、 前記評価関数値が最小値となる場合は、前記選択ノード
集合を最小選択ノード集合とし、前記カレントノードを
含む初期ブロックを最適ブロックとする最適値更新工程
と、 前記第1の分割変更工程において移動させた前記カレン
トノードを元の初期ブロックに戻す分割取消工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えていないときに、前記カレントノードに隣接する
1つのノードを選択して共に新たなカレントノードと
し、該カレントノードを前記選択ノード集合に追加する
隣接ノード選択工程と、前記入出力ピン数取得工程、前
記第1の分割変更工程、前記評価関数値取得工程、前記
最適値更新工程及び前記分割取消工程を繰り返して行な
う第1の繰り返し工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えたときに、前記最小選択ノード集合を前記最適ブ
ロックに移動する分割変更工程と、前記種ノード選択工
程、前記ピン数計算用集合生成工程、前記入出力ピン数
取得工程、前記第1の分割変更工程、前記評価関数値取
得工程、前記最適値更新工程及び前記分割取消工程を、
前記種ノード集合のすべての種ノードを順次選択し終え
るまで繰り返して行なう第2の繰り返し工程とを含むこ
とを特徴とする請求項1に記載の回路分割方法。 - 【請求項10】 前記最適化工程は、 前記種ノード集合から1つの種ノードを選択してカレン
トノードとし、該カレントノードを要素とする選択ノー
ド集合を生成する種ノード選択工程と、 前記カレントノードを同一のブロックに属するように仮
に移動させた場合に、移動させた状態の移動元ブロック
に属するノードの数及び移動先ブロックに属するノード
の数の比である移動後の比率と、移動前の状態の前記移
動元ブロックに属するノードの数及び移動先ブロックに
属するノードの数の比である移動前の比率とを計算して
比較する変更時ブロック比率計算工程と、 前記移動後の比率が前記移動前の比率と比べてより1に
近いときに、移動させた状態の前記移動元ブロックと前
記移動先ブロックとのブロック間のエッジの数を評価す
る評価関数値取得工程と、 前記評価関数値が最小値となる場合は、前記選択ノード
集合を最小選択ノード集合とし、前記カレントノードを
含むブロックを最適ブロックとする最適値更新工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えていないときに、前記カレントノードに隣接する
1つのノードを選択して共に新たなカレントノードと
し、該カレントノードを前記選択ノード集合に追加する
隣接ノード選択工程と、前記変更時ブロック比率計算工
程、前記評価関数値取得工程及び前記最適値更新工程を
繰り返して行なう第1の繰り返し工程と、 前記選択ノード集合のノードの数が前記選択パラメータ
を超えたときに、前記最小選択ノード集合を前記最適ブ
ロックに移動する分割変更工程と、前記種ノード選択工
程、前記変更時ブロック比率計算工程、前記評価関数値
取得工程及び前記最適値更新工程を、前記種ノード集合
のすべての種ノードを順次選択し終えるまで繰り返して
行なう第2の繰り返し工程とを含むことを特徴とする請
求項1に記載の回路分割方法。 - 【請求項11】 複数の回路素子と該回路素子同士を接
続する接続部品とからなる回路を複数のブロックに分割
する回路分割装置であって、 分割対象となる回路を入力する回路入力手段と、 前記複数の回路素子をそれぞれノードとし、前記接続部
品をエッジとするグラフを作成するグラフ作成手段と、 前記グラフを適当な複数のブロックに分割して初期ブロ
ックを生成する初期グラフ分割手段と、 組合せ対象のノードの数である選択パラメータを設定す
る選択パラメータ設定手段と、 前記選択パラメータが示す値を用いて得られる組合せ総
数を計算する組合せ数計算手段と、 前記組合せ総数から前記グラフの分割に要する処理時間
を計算する処理時間計算手段と、 前記処理時間を出力する処理時間出力手段と、 前記選択パラメータが示す値以下の数に接続されたノー
ドを同一の初期ブロックに属するように移動させること
によって前記グラフの分割を最適化するグラフ分割手段
と、 分割された前記グラフに対応する回路の分割を行なう回
路分割手段と、 分割された前記回路を出力する回路出力手段とを備えて
いることを特徴とする回路分割装置。 - 【請求項12】 複数の回路素子と該回路素子同士を接
続する接続部品とからなる回路を複数のブロックに分割
する回路分割装置であって、 分割対象となる回路を入力する回路入力手段と、 前記複数の回路素子をそれぞれノードとし、前記接続部
品をエッジとするグラフを作成するグラフ作成手段と、 前記グラフを適当な複数のブロックに分割して初期ブロ
ックを生成する初期グラフ分割手段と、 前記グラフが最適化されるのに要する処理時間を入力す
る処理時間入力手段と、 適当に組み合わされた前記ノードを同一の初期ブロック
に属するように移動させることによって前記グラフの分
割を改善する際に、前記処理時間内に終了させることが
できる組合せ総数を求める組合せ数逆算手段と、 前記組合せ総数から組合せ対象のノードの数である選択
パラメータを算出して設定する選択パラメータ設定手段
と、 前記選択パラメータが示す値以下の数に接続されたノー
ドを同一の初期ブロックに属するように移動させること
によって前記グラフの分割を最適化するグラフ分割手段
と、 分割された前記グラフに対応する回路の分割を行なう回
路分割手段と、 分割された前記回路を出力する回路出力手段とを備えて
いることを特徴とする回路分割装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9082764A JP2954074B2 (ja) | 1996-04-11 | 1997-04-01 | 回路分割方法及び回路分割装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-89202 | 1996-04-11 | ||
JP8920296 | 1996-04-11 | ||
JP9082764A JP2954074B2 (ja) | 1996-04-11 | 1997-04-01 | 回路分割方法及び回路分割装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09330353A JPH09330353A (ja) | 1997-12-22 |
JP2954074B2 true JP2954074B2 (ja) | 1999-09-27 |
Family
ID=26423781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9082764A Expired - Fee Related JP2954074B2 (ja) | 1996-04-11 | 1997-04-01 | 回路分割方法及び回路分割装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2954074B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970452B2 (en) | 2019-07-12 | 2021-04-06 | Samsung Electronics Co., Ltd. | System for designing semiconductor circuit and operating method of the same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203485B (zh) * | 2022-07-21 | 2023-07-18 | 北京芯思维科技有限公司 | 图数据的处理方法、装置、电子设备及计算机可读介质 |
CN118194810B (zh) * | 2024-05-15 | 2024-09-06 | 浙江雷娜科技有限公司 | 一种基于物理感知的节点分割方法 |
-
1997
- 1997-04-01 JP JP9082764A patent/JP2954074B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970452B2 (en) | 2019-07-12 | 2021-04-06 | Samsung Electronics Co., Ltd. | System for designing semiconductor circuit and operating method of the same |
Also Published As
Publication number | Publication date |
---|---|
JPH09330353A (ja) | 1997-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5926632A (en) | Circuit partitioning method, circuit partitioning apparatus, and computer-readable recording medium having thereon circuit partitioning program | |
US7370291B2 (en) | Method for mapping logic design memory into physical memory devices of a programmable logic device | |
JP3254393B2 (ja) | 遺伝的アルゴリズムマシン及び遺伝的アルゴリズムマシンの製造方法及び遺伝的アルゴリズムの実行方法 | |
JP2891328B2 (ja) | 多重レベル階層回路設計用の遅延時間値生成の方法 | |
US20150135148A1 (en) | Decision modules | |
JP7068575B2 (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
US6405345B1 (en) | Updating placement during technology mapping | |
US20030079188A1 (en) | Method of multi-topology optimization | |
US6769098B2 (en) | Method of physical design for integrated circuit | |
CN112181867A (zh) | 基于多目标遗传算法的片上网络内存控制器布局方法 | |
CN115248781B (zh) | 一种组合测试用例生成方法、装置、设备及可读存储介质 | |
KR100386511B1 (ko) | 입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 | |
US6378116B1 (en) | Using budgeted required time during technology mapping | |
JP2021532605A (ja) | 二進コードによるデジタル集積回路の配線方法および端末装置 | |
JP2954074B2 (ja) | 回路分割方法及び回路分割装置 | |
CN104486222A (zh) | 基于蚁群优化算法的小时延缺陷测试关键路径选择方法 | |
US20110078645A1 (en) | Circuit design system and circuit design method | |
Brayton et al. | An integrated technology mapping environment | |
Mei et al. | Adaptive GA: An essential ingredient in high-level synthesis | |
Lemberski et al. | FSM non-minimal state encoding for low power | |
US7805688B2 (en) | Memory construction apparatus for forming logical memory space | |
JP3215598B2 (ja) | 最小誤差記憶装置 | |
CN113148507B (zh) | 一种生物样本存取路径的规划方法、装置及电子设备 | |
Abdul et al. | Scan Chain Clustering and Optimization with Constrained Clustering and Reinforcement Learning | |
CN117763277A (zh) | 优化问题的顺序分组处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990629 |
|
LAPS | Cancellation because of no payment of annual fees |