[go: up one dir, main page]

JP3196931B2 - パーティショニング方法および装置、ならびにエミュレーション方法および装置 - Google Patents

パーティショニング方法および装置、ならびにエミュレーション方法および装置

Info

Publication number
JP3196931B2
JP3196931B2 JP01237699A JP1237699A JP3196931B2 JP 3196931 B2 JP3196931 B2 JP 3196931B2 JP 01237699 A JP01237699 A JP 01237699A JP 1237699 A JP1237699 A JP 1237699A JP 3196931 B2 JP3196931 B2 JP 3196931B2
Authority
JP
Japan
Prior art keywords
data
processing unit
candidate block
result
circuit
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
Application number
JP01237699A
Other languages
English (en)
Other versions
JP2000207445A (ja
Inventor
こずえ 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP01237699A priority Critical patent/JP3196931B2/ja
Publication of JP2000207445A publication Critical patent/JP2000207445A/ja
Application granted granted Critical
Publication of JP3196931B2 publication Critical patent/JP3196931B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーティショニン
グ方法および装置、ならびにエミュレーション方法およ
び装置に関する。
【0002】
【従来の技術】エミュレーションについては、特開平9
−50453号公報に開示された技術が知られている。
エミュレーション装置は、LSIの論理検証を行うもの
である。エミュレーション装置は、検証対象のLSIの
論理(Logic)をフィールド・プログラマブル・ゲ
ートアレイ(FPGA)等のプログラマブルデバイスに
マッピングして、前記プログラマブルデバイス上でLS
Iの論理検証を行うものである。
【0003】エミュレーション装置は、前記プログラマ
ブルデバイスが複数搭載されるエミュレーションボード
(以下、単にボードという)を、複数枚備えている。エ
ミュレーション装置において検証対象となるLSIの回
路(論理)を示すデータ(回路データ)は、複数のデー
タブロック(回路ブロック)に分割され、それぞれのデ
ータブロックが前記複数のボードのそれぞれに割り当て
られる。この割り当て作業を、パーティショニングとい
う。なお、ここで、前記LSIの回路(論理)を示すデ
ータとは、一般的にネットリストと呼ばれるものに相当
する。
【0004】1枚のボードに搭載可能なデータ(前記回
路ブロック)量には、一定の限界がある(これを最大搭
載ゲート数という)。したがって、前記パーティショニ
ングは、前記複数のボードのそれぞれに割り当てられる
前記回路ブロックのデータ量(回路規模、ゲート数)
が、前記限界を超えないように行われる必要がある。
【0005】前記複数のボードのそれぞれに割り当てら
れた前記回路ブロック同士の電気的接続は、前記複数の
ボード間に接続された信号線(配線)によって行われ
る。この場合、1枚のボードに接続可能な信号線の数
(信号数)には、一定の制約がある。これは、前記エミ
ュレーション装置の物理的な構成上の制約で、前記エミ
ュレーション装置の仕様により決定される。したがっ
て、前記パーティショニングに際して、前記1枚のボー
ドに前記回路ブロックが割り当てられるときに、前記回
路ブロックから引き出される信号線の数が、前記制約の
数(最大ボード間信号数)を超えないようになされる必
要がある。
【0006】前記パーティショニングが行われた後、前
記複数のボードのそれぞれにコンパイル処理が行われ
る。その後、前記回路データの全体のコンパイル処理が
行われる。ここで、前記エミュレーション装置における
前記コンパイル処理とは、ユーザーの設計する回路の基
本単位である論理ゲート(後述する)を接続したものと
して記載された回路データを、前記エミュレーション装
置のFPGA上にマッピング可能な回路データに変換す
る処理を意味している。なお一般に、前記論理ゲートの
バリエーションの集合は、プリミティブライブラリと呼
ばれるものに相当する。
【0007】以下、図9を参照して、前記パーティショ
ニングを行うパーティショニングシステムについて説明
する。
【0008】従来のパーティショニングシステムは、入
力部5と、データ処理部6と、データ格納部7と、出力
部8とを備えている。
【0009】入力部5は、例えば、作業者によって操作
されるキーボードである。データ処理部6は、ゲート数
検出部51と、階層展開部52と、信号検出部53と、
パーティション生成部54とを備えている。
【0010】データ格納部7は、回路データ格納部71
と、ゲート数換算ライブラリ格納部72と、モジュール
ゲート数格納部73と、信号数格納部74と、パーティ
ションデータ格納部75とを備えている。出力部8は、
データ処理部6によるパーティショニング処理の結果を
出力する。
【0011】次に、図3を参照して、前記パーティショ
ニング処理を行う対象である前記回路データについて説
明する。
【0012】図3に示すように、前記回路データは、複
数のモジュールM1,M2,M3,M11,M12,…
から構成されている。前記複数のモジュールM1,M
2,M3,M11,M12,…は、1または2以上の階
層A,B,C,Dを形成することが多い。図3に示され
るように、階層構造を形成する複数のモジュールM1,
M2,M3,M11,M12,…において、最下位階層
C,Dに相当するモジュールM30,M31,M32,
M33,M121,…M12Yは、ゲートのレベルで記
載されている。
【0013】ここで、「ゲート」とは、ANDゲートや
ORゲートなどの二入力型または三入力型の論理ゲート
の意味である。ここでいう「ゲートのレベル」とは、前
記基本単位となる前記論理ゲート(ANDゲートやOR
ゲートなど)同士を接続したものとして記載されたレベ
ルである。「モジュール」とは、一の機能を実現する単
位であり、複数のプリミティブブロックからなるもので
ある。1つのモジュールは、複数のモジュールを含む場
合がある。
【0014】「プリミティブブロック」とは、前記ゲー
トと同じ意味である。前記プリミティブブロック(=前
記ゲート)のバリエーションの集合として、前記プリミ
ティブライブラリが用意される。前記最下位階層C,D
に相当する機能ブロック(最下位階層ブロック)は、1
または2以上の前記ゲートからなり、前記FPGA上に
マッピング可能な最小機能単位である。すなわち、前記
回路データの構成を整理すると、前記階層の上位から下
位に向けて、上位階層ブロック−…−前記最下位階層ブ
ロック−前記ゲート(=前記プリミティブブロック)と
いう関係になる。前記ボードにマッピング可能な最小単
位が前記最下位階層ブロックであり、前記最下位階層ブ
ロックの構成要素として、前記ゲート(=プリミティブ
ブロック)がある。以下、前記ゲート(=プリミティブ
ブロック)を基本単位という。前記最下位階層ブロック
を前記FPGAにマッピングする上での最小単位とい
う。機能記述(HDL記述)されたもの(前記機能ブロ
ック)が論理合成されてゲート記述されることにより、
前記プリミティブブロック(=前記ゲート)に変換され
る。
【0015】図9において、前記回路データ格納部71
には、予め、論理検証の対象となるLSIの回路データ
が複数格納されている。前記回路データは、その前記最
小単位を、前記最下位階層の機能ブロック(前記最下位
階層ブロック)として、前記回路データ格納部71に格
納されている。前記機能記述(HDL記述)されたもの
(前記機能ブロック)が論理合成されてゲート記述化さ
れたものが、前記回路データとして前記回路データ格納
部71に格納されている。
【0016】前記ゲート数換算ライブラリ格納部72に
は、予め、複数の前記プリミティブブロックのそれぞれ
のゲート規模を示すデータが格納されている。前述した
ように、前記プリミティブブロックとは、前記ゲートの
意味であるが、ここでいう前記ゲート規模とは、例え
ば、2入力NANDの前記ゲートは1ゲートとなり、3
入力NANDの前記ゲートは2ゲートとなるというよう
に、各ゲートの規模(ゲート数)を示すものである。
【0017】次に、図9に示したパーティショニングシ
ステムの動作について説明する。
【0018】まず、前記入力部5から前記データ処理部
6に、制御コマンドが出力される。この制御コマンド
は、論理検証の対象とすべき回路データを、前記回路デ
ータ格納部71に格納された前記複数の回路データの中
から指定する旨の内容を示している。
【0019】前記ゲート数検出部51の動作について説
明する。
【0020】前記ゲート数検出部51は、前記制御コマ
ンドを入力し、前記入力した制御コマンドにより指定さ
れた回路データを、前記回路データ格納部71から読み
出す。
【0021】前記ゲート数検出部51は、前記ゲート数
換算ライブラリ格納部72に格納された前記データを参
照する。前記ゲート数検出部51は、前記参照された前
記データに基づいて、前記読み出された前記回路データ
に含まれる全体の前記ゲート数(前記回路データを構成
する全てのモジュールの前記ゲート数)を検出する。
【0022】このとき、前記ゲート数検出部51は、前
記回路データを構成する前記複数のモジュールのそれぞ
れに含まれる前記ゲート数を検出する。この場合、前記
ゲート数検出部51は、階層構造を形成する前記複数の
モジュールのうち、最下位階層に含まれる前記モジュー
ルから上位の階層に向かう順に、それぞれの階層に含ま
れるそれぞれの前記モジュールに含まれる前記ゲート数
を検出していく。
【0023】前記ゲート数検出部51は、上記のような
順序(ボトムアップ)で前記ゲート数を検出することに
より、前記複数のモジュールのそれぞれに含まれる前記
ゲート数の他、前記複数の階層のそれぞれに含まれる全
モジュールの前記ゲート数や、前記回路データの全体に
含まれる前記ゲート数を検出することができる。
【0024】前記ゲート数検出部51は、前記検出され
たゲート数を示すデータを、前記モジュールゲート数格
納部73に格納する。この場合、前記ゲート数検出部5
1により検出された前記ゲート数を示すデータは、前記
複数のモジュールのそれぞれに含まれるゲート数が分か
る状態で、前記モジュールゲート数格納部73に格納さ
れる。
【0025】次に、前記階層展開部52の動作について
説明する。
【0026】前記階層展開部52は、前記モジュールゲ
ート数格納部73から、前記回路データを構成する前記
複数のモジュールのそれぞれに含まれる前記ゲートの数
を示すデータを読み出す。
【0027】前記階層展開部52は、前記複数のモジュ
ールのそれぞれに含まれる前記ゲートの数が、前記ボー
ド1枚あたりの前記最大搭載ゲート数よりも大きいか否
かを判断する。前記階層展開部52は、前記判断の結
果、そのモジュールの前記ゲート数が前記最大搭載ゲー
ト数よりも大きい場合には、前記そのモジュールについ
て階層を展開する。
【0028】前記階層展開部52による、前記判断、お
よび前記判断結果に基づく前記階層展開は、前記回路デ
ータを構成する前記複数のモジュールのうち、上位の階
層に含まれるモジュールから下位の階層に向かう順序
(トップダウン)で、行われる。
【0029】上記において、「階層を展開する」とは、
例えば、階層AのモジュールM3に含まれるゲート数が
前記最大搭載ゲート数よりも大きいと判断された場合
に、モジュールM3の下位に階層Cを設けて、モジュー
ルM3に含まれる複数のゲートを、階層Cの複数のモジ
ュールM30,31,32,33に分割することであ
る。そして、階層展開された各モジュールM30,3
1,32,33を単位として、後述するパーティショニ
ングが行われる。一方、例えば、モジュールM1に含ま
れるゲート数が前記最大搭載ゲート数以下であると判断
された場合には、モジュールM1の階層展開を行わず
に、パーティショニングの際には、モジュールM1をそ
の単位とする。
【0030】次に、前記信号検出部53の動作について
説明する。
【0031】前記階層展開部52による前記モジュール
の階層展開が終わると、前記信号検出部53は、前記複
数のモジュールのそれぞれの前記外部信号数を検出す
る。前記信号検出部53は、その検出結果を示すデータ
を前記信号数格納部74に格納する。
【0032】ここで、「モジュールの外部信号数」と
は、当該モジュールが他のモジュールと接続するために
必要とされる端子(接続部)の数である。
【0033】次に、前記パーティション生成部54の動
作について説明する。
【0034】前記パーティション生成部54は、前記エ
ミュレーション装置が有する前記複数のボードのそれぞ
れに、前記回路データの一部(前記回路ブロック)を割
り当てる。この場合、前記パーティション生成部54の
具体的な動作は、以下の通りである。
【0035】前記パーティション生成部54は、まず、
前記複数のボードのうちの1枚目のボードに、前記最大
搭載ゲート数を超える直前まで、前記複数のモジュール
のそれぞれを単位として搭載していく。このとき、前記
複数のモジュールのそれぞれは、前記階層展開部52に
よる処理を経た後のものであるから、それぞれのモジュ
ールのゲート数は、いずれも前記最大搭載ゲート数以下
である。
【0036】前記1枚目のボードに、前記最大搭載ゲー
ト数の直前まで前記モジュールが搭載されたときに、前
記パーティション生成部54は、前記1枚目のボードへ
の前記割り当てを終了し、次は2枚目の前記ボードに、
前記最大搭載ゲート数を超える直前まで、前記モジュー
ルを搭載していく。3枚目の前記ボード以降についても
同様であり、この動作は、前記回路データを構成する前
記複数のモジュールの全てが前記ボードに搭載されるま
で行われる。
【0037】上記のように、前記パーティション生成部
54は、前記ボードの使用枚数が少なくなるように、前
記ボードの1枚目から順に、当該ボードが最大搭載ゲー
ト数の直前になるまで、前記モジュールを搭載してい
く。したがって、回路に含まれるゲートの数が少ない
(回路規模が小さい)ものを論理検証の対象とする場合
は、前記エミュレーション装置が有する全てのボードが
使用されるとは限らない。
【0038】また、前記パーティション生成部54で
は、前記信号検出部53により検出された前記モジュー
ルごとの前記外部信号数を示すデータに基づいて、前記
ボード間(パーティション間)の信号数が最小になるよう
に、前記パーティショニングを行う。ここで、「ボード
間の接続信号数」とは、前記ボードと前記ボードとの間
で、それぞれの前記ボードに搭載された前記回路ブロッ
ク同士の電気的接続を行うためのインターフェースとな
る信号線の数を示す。前述したように、前記ボード間の
接続信号数は、前記最大搭載ゲート数と同様に物理的な
制約を受ける。
【0039】
【発明が解決しようとする課題】ところで、上記パーテ
ィショニングシステムでは、前述したように、前記エミ
ュレーション装置が有する前記複数のボードの1枚目か
ら順に、前記最大搭載ゲート数を超える直前まで、前記
複数のモジュールのそれぞれが単位として搭載されてい
く。
【0040】ここで、前記モジュールの階層展開は、前
記最大搭載ゲート数を基準になされているため、前記階
層展開された、パーティショニングの単位として扱われ
る、それぞれのモジュールごとのゲート数は、大きく異
なっている。このように、それぞれの搭載ゲート数が大
きく異なっているモジュールを、前記ボードに搭載して
いくため、パーティショニング終了時の各ボード間での
搭載ゲート数の差は大きい。
【0041】また、前記回路データを構成する前記複数
のモジュールのそれぞれの割り当てが、前記複数のボー
ドの1枚目から順に、前記最大搭載ゲート数を超える直
前までを基準に行われるため、最終枚目のボードには、
前記最大搭載ゲート数を大きく下回ったゲート(「最終
枚−1枚」目のボードまでで搭載されずに残ったゲー
ト)しか搭載されない場合がある。
【0042】上記のことから、前記パーティショニング
の結果として、前記複数のボードのそれぞれに搭載され
るゲートの数は、前記最大搭載ゲート数のほぼ100%
を占めるものから、1%に満たないものまでと、大きく
異なる。
【0043】前記コンパイルの処理時間は、前記ボード
に搭載された前記ゲート数に影響される。前記コンパイ
ル処理は、前記複数のボードのそれぞれについて、並行
して(パラレルに)行われる。前述したように、前記複
数のボードのそれぞれの搭載ゲート数が大きく異なるこ
とから、前記コンパイル処理の実行時間も、前記複数の
ボードのそれぞれで大きく異なる(例えば、数秒で済む
ものから、数時間を要するものまでと、大きく異なる)
場合がある。
【0044】一般的なエミュレーション装置では、前述
したように、前記複数のボードのそれぞれについての前
記コンパイル処理が終了した後に、前記回路データの全
体についての前記コンパイル処理が行われる。したがっ
て、前記複数のボードのそれぞれの前記コンパイル処理
時間(搭載ゲート数)の大差は、全体の処理時間の増大
につながってしまう。
【0045】また、上記のコンパイルの処理時間の問題
に加えて、コンパイルエラーの問題がある。すなわち、
従来は、前記複数のボードのそれぞれに、前記最大搭載
ゲート数近くの前記ゲート数が搭載されている場合があ
ったため、その分、前記コンパイルのエラーが発生する
可能性が高いという問題があった。一般に、前記エミュ
レーション装置の前記FPGAに前記回路データを前記
マッピングする場合、前記搭載ゲート数(搭載ゲート規
模)が大きいほど、前記複数のプリミティブブロック
(前記ゲート)間の接続信号の総数が大きくなるため、
その接続を実現するための前記FPGAで消費する資産
が大きくなり、前記コンパイルエラーとなる可能性が高
くなる。
【0046】本発明は、上記の事情に鑑みてなされたも
ので、全体の処理時間を短縮化することができ、コンパ
イル等の処理でエラーが発生する可能性を最小限に抑え
ることのできる、パーティショニング方法および装置、
ならびにエミュレーション方法および装置を提供するこ
とを目的としている。
【0047】
【課題を解決するための手段】本発明のパーティショニ
ング方法は、被検査対象データ(回路データ)を複数に
分割して前記分割の結果としての複数のデータブロック
(回路ブロック,1パーティション)を生成するパーテ
ィショニング方法であって、少なくとも一つの要素デー
タ(ゲート)を備えた処理単位データ(モジュールM3
0,M31,M32,M33)を複数備えて構成される
データを前記被検査対象データ(M3)として提供する
ステップと、前記被検査対象データ(M3)を構成する
前記複数の処理単位データ(M30,M31,M32,
M33)にそれぞれ含まれる前記要素データの数を検出
するステップ(B1)と、前記検出結果に基づいて、前
記被検査対象データ(M3)を構成する前記複数の処理
単位データ(M30,M31,M32,M33)から複
数の前記処理単位データ(M33,M30)を選択して
前記選択された複数の処理単位データ(M33,M3
0)により候補ブロック(新モジュールM33,M3
0)を生成するステップ(B2,B3)と、前記生成さ
れた候補ブロック(M33,M30)に含まれる前記要
素データの数と設定値との比較を行うステップ(B4)
と、前記比較結果に基づいて、前記候補ブロック(M3
3,M30)を前記データブロックとするか否かを決定
するステップ(B4,B7)とを備えている。
【0048】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、前記比較を行うステ
ップ(B4)は、前記被検査対象データに含まれる全て
の前記要素データの数を前記複数のデータブロックのそ
れぞれを割り当てるための全ての前記ボードの数で割っ
た数に対応する平均搭載要素データ数、に基づいて設定
される数を前記設定値とする。
【0049】本発明のパーティショニング方法におい
て、前記データを前記被検査対象データ(M3)として
提供するステップは、入力データに含まれる前記要素デ
ータの数を検出するステップと、前記検出された前記入
力データに含まれる要素データの数と、所定値との比較
検討を行なうステップ(A3)と、前記比較検討結果に
基づいて、前記処理単位データを生成するステップ(A
5,A8)とを備えたものである。
【0050】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、前記比較検討を行う
ステップ(A3)は、前記被検査対象データに含まれる
全ての前記要素データの数を前記複数のデータブロック
のそれぞれを割り当てるための全ての前記ボードの数で
割った数に対応する平均搭載要素データ数、に基づいて
設定される数を前記所定値とするものである。
【0051】本発明のパーティショニング方法におい
て、前記比較検討を行なうステップ(A3)は、前記被
検査対象データの前記分割を行なうことができないと判
断されたときに、前記所定値の値を自動的に更新するも
のである。
【0052】本発明のパーティショニング方法におい
て、前記比較を行うステップ(B4)は、前記被検査対
象データの前記分割を行なうことができないと判断され
たときに、前記設定値の値を自動的に更新するものであ
る。
【0053】本発明のパーティショニング方法におい
て、更に、前記決定するステップの結果、前記候補ブロ
ック(M33,M30)を前記データブロックとしない
と決定した場合に、前記検出結果に基づいて、前記被検
査対象データ(M3)を構成する前記複数の処理単位デ
ータ(M30,M31,M32,M33)の中から、前
記候補ブロック(M33,M30)に含まれる前記複数
の処理単位データ(M33,M30)のうちの少なくと
も一の前記処理単位データ(M30)に代わる前記処理
単位データ(M31)を選択し、前記選択された前記処
理単位データ(M31)により第2の候補ブロック(M
31,M33)を生成するステップ(B4−N,B10
−N,B3)を備え、前記比較を行うステップは、前記
生成された第2の候補ブロック(M31,M33)に含
まれる前記要素データの数と前記設定値との比較を行
い、前記決定するステップは、前記比較結果に基づい
て、前記第2の候補ブロック(M31,M33)を前記
データブロックとするか否かを決定するものである。
【0054】本発明のパーティショニング方法におい
て、更に、前記決定するステップの結果、前記候補ブロ
ック(M33,M30)が前記データブロックとして決
定されたときに、前記被検査対象データ(M3)を構成
する前記複数の処理単位データ(M30,M31,M3
2,M33)のうちの前記データブロックとして決定さ
れた前記候補ブロック(M33,M30)以外の複数の
前記処理単位データ(M31,M32)から複数の前記
処理単位データ(M31,M32)を選択して前記選択
された複数の処理単位データ(M31,M32)により
第3の候補ブロック(新モジュールM31,M32)を
生成するステップ(B8,B1,B2,B3)を備え、
前記比較を行うステップは、前記生成された第3の候補
ブロック(M31,M32)に含まれる前記要素データ
の数と前記設定値との比較を行い、前記決定するステッ
プは、前記比較結果に基づいて、前記第3の候補ブロッ
ク(M31,M32)を前記データブロックとするか否
かを決定するものである。
【0055】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)に含まれる前記要素
データの数と、前記ボードに割り当て可能な前記要素デ
ータの最大数を示す最大搭載要素データ数との対比を行
うステップ(B5)を備え、前記決定するステップ(B
4,B5,B7)は、前記比較結果および前記対比結果
に基づいて前記決定を行うものである。
【0056】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)における他の前記複
数のデータブロックのそれぞれとの間の電気的接続を行
うための外部信号の数を検出するステップと、前記検出
された前記候補ブロック(M33,M30)の前記外部
信号の数と、前記ボードに接続可能な前記外部信号の最
大数を示す最大ボード間信号数との対比を行うステップ
(B6)を備え、前記決定するステップ(B4,B6,
B7)は、前記比較結果および前記対比結果に基づいて
前記決定を行うものである。
【0057】本発明のパーティショニング方法におい
て、更に、前記対比の結果、前記検出された前記候補ブ
ロック(M33,M30)の前記外部信号の数が、前記
最大ボード間信号数を超えていると判断した場合(B6
−N)に、前記被検査対象データ(M3)を構成する前
記複数の処理単位データ(M30,M31,M32,M
33)の中から、前記候補ブロック(M33,M30)
に含まれる前記複数の処理単位データ(M33,M3
0)のうちの少なくとも一の前記処理単位データ(M3
0)に代わる前記処理単位データ(M31)を選択し、
前記選択された前記処理単位データ(M31)により第
4の候補ブロック(M31,M33)を生成するステッ
プ(B6−N,B9−N,B3)を備え、前記比較を行
うステップは、前記生成された第4の候補ブロック(M
31,M33)に含まれる前記要素データの数と前記設
定値との比較を行い、前記決定するステップは、前記比
較結果に基づいて、前記第4の候補ブロック(M31,
M33)を前記データブロックとするか否かを決定する
ものである。
【0058】本発明のパーティショニング方法は、被検
査対象データ(回路データ)を複数に分割して前記分割
の結果としての複数のデータブロック(回路ブロック,
1パーティション)を生成するパーティショニング方法
であって、少なくとも一つの要素データ(ゲート)を備
えた処理単位データ(モジュールM1,M2,M3,M
30,M31,M32,M33)を複数提供するステッ
プと、前記提供された複数の処理単位データ(M1,M
2,M3,M30,M31,M32,M33)を複数の
グループ(階層A,C)に分類して前記分類された結果
としての前記複数の処理単位データ(M1,M2,M
3,M30,M31,M32,M33)を前記被検査対
象データとして提供するステップと、前記複数のグルー
プ(階層A,C)のうちの第1のグループ(階層C)に
帰属する前記複数の処理単位データ(M30,M31,
M32,M33)にそれぞれ含まれる前記要素データの
数を検出するステップ(B1)と、前記検出結果に基づ
いて、前記第1のグループ(階層C)に帰属する前記複
数の処理単位データ(M30,M31,M32,M3
3)から複数の前記処理単位データ(M33,M30)
を選択して前記選択された前記複数の処理単位データ
(M33,M30)により候補ブロック(新モジュール
M33,M30)を生成するステップ(B2,B3)
と、前記生成された候補ブロック(M33,M30)に
含まれる前記要素データの数と設定値との比較を行うス
テップ(B4)と、前記比較結果に基づいて、前記候補
ブロック(M33,M30)を前記データブロックとす
るか否かを決定するステップ(B4,B7)とを備えた
ものである。
【0059】本発明のパーティショニング方法におい
て、更に、前記決定するステップの結果、前記候補ブロ
ック(M33,M30)を前記データブロックとしない
と決定した場合(B4−N)に、前記検出結果に基づい
て、前記第1のグループ(階層C)に帰属する前記複数
の処理単位データ(M30,M31,M32,M33)
の中から、前記候補ブロック(M33,M30)に含ま
れる前記複数の処理単位データ(M33,M30)のう
ちの少なくとも一の前記処理単位データ(M30)に代
わる前記処理単位データ(M31)を選択し、前記選択
された前記処理単位データ(M31)により第2の候補
ブロック(M31,M33)を生成するステップ(B
3)を備え、前記比較を行うステップは、前記生成され
た第2の候補ブロック(M31,M33)に含まれる前
記要素データの数と前記設定値との比較を行い、前記決
定を行うステップは、前記比較結果に基づいて、前記第
2の候補ブロック(M31,M33)を前記データブロ
ックとするか否かを決定するものである。
【0060】本発明のパーティショニング方法におい
て、更に、前記決定するステップの結果、前記候補ブロ
ック(M33,M30)を前記データブロックとしない
と決定した場合(B4−N)に、前記第1のグループ
(階層C)に帰属する前記複数の処理単位データ(M3
0,M31,M32,M33)を用いて前記候補ブロッ
ク(M33,M30)に代わる第2の候補ブロックを生
成できないとき(B10−Y)に、前記第1のグループ
(階層C)に帰属する前記複数の処理単位データ(M3
0,M31,M32,M33)の少なくとも一部の処理
単位データを前記複数のグループのうちの第2のグルー
プ(階層A)に帰属させるステップ(B12)を備えた
ものである。
【0061】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)に含まれる前記要素
データの数と、前記ボードに割り当て可能な前記要素デ
ータの最大数を示す最大搭載要素データ数との対比を行
うステップ(B5)と、前記対比の結果、前記候補ブロ
ック(M33,M30)に含まれる前記要素データの数
が前記最大搭載要素データ数を超えていると判断した場
合(B5−N)には、前記候補ブロック(M33,M3
0)に含まれる前記複数の処理単位データ(M33,M
30)のうちの少なくとも一の前記処理単位データ(M
33)を、前記複数のグループのうちの第2のグループ
(階層A)に帰属させるステップ(B14)を備えたも
のである。
【0062】本発明のパーティショニング方法におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)における他の前記複
数のデータブロックのそれぞれとの間の電気的接続を行
うための外部信号の数を検出するステップと、前記検出
された前記候補ブロック(M33,M30)の前記外部
信号の数と、前記ボードに接続可能な前記外部信号の最
大数を示す最大ボード間信号数との対比を行うステップ
(B6)と、前記対比の結果、前記検出された前記候補
ブロック(M33,M30)の前記外部信号の数が、前
記最大ボード間信号数を超えていると判断した場合(B
6−N)に、前記第1のグループ(階層C)に帰属する
前記複数の処理単位データ(M30,M31,M32,
M33)を用いて前記候補ブロック(M33,M30)
に代わる第2の候補ブロックを生成できないとき(B9
−Y)に、前記候補ブロック(M33,M30)の少な
くとも一の前記処理単位データ(M33)を、前記複数
のグループのうちの第2のグループ(階層A)に帰属さ
せるステップ(B14)を備えたものである。
【0063】本発明のパーティショニング方法におい
て、前記複数のグループ(階層A,C)は、階層を形成
し、前記第2のグループ(階層A)に帰属させるステッ
プ(B12,B14)は、前記第2のグループ(階層
A)として、前記第1のグループ(階層C)よりも前記
階層において上位にあるグループを選択するものであ
る。
【0064】本発明のパーティショニング方法におい
て、更に、前記第1のグループ(階層C)が前記階層に
おいて最上位にあるか否かを判断するステップ(B1
1,B13)と、前記判断の結果、前記第1のグループ
(階層C)が前記最上位にあると判断された場合には、
前記第2のグループ(階層A)に帰属させるステップ
(B12)に代えて、前記被検査対象データの前記分割
を行うことができない旨を報知するステップ(B15)
を備えたものである。
【0065】被検査対象データ(回路データ)を複数に
分割して前記分割の結果としての複数のデータブロック
(回路ブロック,1パーティション)を生成した後に、
前記被検査対象データのエミュレーションを行うエミュ
レーション方法であって、少なくとも一つの要素データ
(ゲート)を備えた処理単位データ(モジュールM3
0,M31,M32,M33)を複数備えて構成される
データを前記被検査対象データ(M3)として提供する
ステップと、前記被検査対象データ(M3)を構成する
前記複数の処理単位データ(M30,M31,M32,
M33)にそれぞれ含まれる前記要素データの数を検出
するステップ(B1)と、前記検出結果に基づいて、前
記被検査対象データ(M3)を構成する前記複数の処理
単位データ(M30,M31,M32,M33)から複
数の前記処理単位データ(M33,M30)を選択して
前記選択された複数の処理単位データ(M33,M3
0)により候補ブロック(新モジュールM33,M3
0)を生成するステップ(B2,B3)と、前記生成さ
れた候補ブロック(M33,M30)に含まれる前記要
素データの数と設定値との比較を行うステップ(B4)
と、前記比較結果に基づいて、前記候補ブロック(M3
3,M30)を前記データブロックとするか否かを決定
するステップ(B4,B7)と、複数の前記決定された
前記データブロックのそれぞれに並行してデータ処理を
行うステップとを備えたものである。
【0066】本発明のパーティショニング方法は、被検
査対象データを複数に分割して前記分割の結果としての
複数のデータブロックを生成するパーティショニング装
置であって、少なくとも一つの要素データを備えた処理
単位データ(M30,M31,M32,M33)を複数
備えて構成されるデータを前記被検査対象データ(M
3)として提供する手段と、前記被検査対象データ(M
3)を構成する前記複数の処理単位データ(M30,M
31,M32,M33)にそれぞれ含まれる前記要素デ
ータの数を検出する手段(B1)と、前記検出結果に基
づいて、前記被検査対象データ(M3)を構成する前記
複数の処理単位データ(M30,M31,M32,M3
3)から複数の前記処理単位データ(M33,M30)
を選択して前記選択された複数の処理単位データ(M3
3,M30)により候補ブロック(新モジュールM3
3,M30)を生成する手段(B2,B3)と、前記生
成された候補ブロック(M33,M30)に含まれる前
記要素データの数と設定値との比較を行う手段(B4)
と、前記比較結果に基づいて、前記候補ブロック(M3
3,M30)を前記データブロックとするか否かを決定
する手段(B4,B7)とを備えたものである。
【0067】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、前記比較を行う手段
(B4)は、前記被検査対象データに含まれる全ての前
記要素データの数を前記複数のデータブロックのそれぞ
れを割り当てるための全ての前記ボードの数で割った数
に対応する平均搭載要素データ数、に基づいて設定され
る数を前記設定値とするものである。
【0068】本発明のパーティショニング装置におい
て、前記データを前記被検査対象データ(M3)として
提供する手段は、入力データに含まれる前記要素データ
の数を検出する手段と、前記検出された前記入力データ
に含まれる要素データの数と、所定値との比較検討を行
なう手段(A3)と、前記比較検討結果に基づいて、前
記処理単位データを生成する手段(A5,A8)とを備
えたものである。
【0069】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、前記比較検討を行う
手段(A3)は、前記被検査対象データに含まれる全て
の前記要素データの数を前記複数のデータブロックのそ
れぞれを割り当てるための全ての前記ボードの数で割っ
た数に対応する平均搭載要素データ数、に基づいて設定
される数を前記所定値とするものである。
【0070】本発明のパーティショニング装置におい
て、前記比較検討を行なう手段(A3)は、前記被検査
対象データの前記分割を行なうことができないと判断さ
れたときに、前記所定値の値を自動的に更新するもので
ある。
【0071】本発明のパーティショニング装置におい
て、前記比較を行う手段(B4)は、前記被検査対象デ
ータの前記分割を行なうことができないと判断されたと
きに、前記設定値の値を自動的に更新するものである。
【0072】本発明のパーティショニング装置におい
て、更に、前記決定する手段の結果、前記候補ブロック
(M33,M30)を前記データブロックとしないと決
定した場合に、前記検出結果に基づいて、前記被検査対
象データ(M3)を構成する前記複数の処理単位データ
(M30,M31,M32,M33)の中から、前記候
補ブロック(M33,M30)に含まれる前記複数の処
理単位データ(M33,M30)のうちの少なくとも一
の前記処理単位データ(M30)に代わる前記処理単位
データ(M31)を選択し、前記選択された前記処理単
位データ(M31)により第2の候補ブロック(M3
1,M33)を生成する手段(B4−N,B10−N,
B3)を備え、前記比較を行う手段は、前記生成された
第2の候補ブロック(M31,M33)に含まれる前記
要素データの数と前記設定値との比較を行い、前記決定
する手段は、前記比較結果に基づいて、前記第2の候補
ブロック(M31,M33)を前記データブロックとす
るか否かを決定するものである。
【0073】本発明のパーティショニング装置におい
て、更に、前記決定する手段の結果、前記候補ブロック
(M33,M30)が前記データブロックとして決定さ
れたときに、前記被検査対象データ(M3)を構成する
前記複数の処理単位データ(M30,M31,M32,
M33)のうちの前記データブロックとして決定された
前記候補ブロック(M33,M30)以外の複数の前記
処理単位データ(M31,M32)から複数の前記処理
単位データ(M31,M32)を選択して前記選択され
た複数の処理単位データ(M31,M32)により第3
の候補ブロック(新モジュールM31,M32)を生成
する手段(B8,B1,B2,B3)を備え、前記比較
を行う手段は、前記生成された第3の候補ブロック(M
31,M32)に含まれる前記要素データの数と前記設
定値との比較を行い、前記決定する手段は、前記比較結
果に基づいて、前記第3の候補ブロック(M31,M3
2)を前記データブロックとするか否かを決定するもの
である。
【0074】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)に含まれる前記要素
データの数と、前記ボードに割り当て可能な前記要素デ
ータの最大数を示す最大搭載要素データ数との対比を行
う手段(B5)を備え、前記決定する手段(B4,B
5,B7)は、前記比較結果および前記対比結果に基づ
いて前記決定を行うものである。
【0075】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)における他の前記複
数のデータブロックのそれぞれとの間の電気的接続を行
うための外部信号の数を検出する手段と、前記検出され
た前記候補ブロック(M33,M30)の前記外部信号
の数と、前記ボードに接続可能な前記外部信号の最大数
を示す最大ボード間信号数との対比を行う手段(B6)
を備え、前記決定する手段(B4,B6,B7)は、前
記比較結果および前記対比結果に基づいて前記決定を行
うものである。
【0076】本発明のパーティショニング装置におい
て、更に、前記対比の結果、前記検出された前記候補ブ
ロック(M33,M30)の前記外部信号の数が、前記
最大ボード間信号数を超えていると判断した場合(B6
−N)に、前記被検査対象データ(M3)を構成する前
記複数の処理単位データ(M30,M31,M32,M
33)の中から、前記候補ブロック(M33,M30)
に含まれる前記複数の処理単位データ(M33,M3
0)のうちの少なくとも一の前記処理単位データ(M3
0)に代わる前記処理単位データ(M31)を選択し、
前記選択された前記処理単位データ(M31)により第
4の候補ブロック(M31,M33)を生成する手段
(B6−N,B9−N,B3)を備え、前記比較を行う
手段は、前記生成された第4の候補ブロック(M31,
M33)に含まれる前記要素データの数と前記設定値と
の比較を行い、前記決定する手段は、前記比較結果に基
づいて、前記第4の候補ブロック(M31,M33)を
前記データブロックとするか否かを決定するものであ
る。
【0077】本発明のパーティショニング装置は、被検
査対象データ(回路データ)を複数に分割して前記分割
の結果としての複数のデータブロック(回路ブロック,
1パーティション)を生成するパーティショニング装置
であって、少なくとも一つの要素データ(ゲート)を備
えた処理単位データ(モジュールM1,M2,M3,M
30,M31,M32,M33)を複数提供する手段
と、前記提供された複数の処理単位データ(M1,M
2,M3,M30,M31,M32,M33)を複数の
グループ(階層A,C)に分類して前記分類された結果
としての前記複数の処理単位データ(M1,M2,M
3,M30,M31,M32,M33)を前記被検査対
象データとして提供する手段と、前記複数のグループ
(階層A,C)のうちの第1のグループ(階層C)に帰
属する前記複数の処理単位データ(M30,M31,M
32,M33)にそれぞれ含まれる前記要素データの数
を検出する手段(B1)と、前記検出結果に基づいて、
前記第1のグループ(階層C)に帰属する前記複数の処
理単位データ(M30,M31,M32,M33)から
複数の前記処理単位データ(M33,M30)を選択し
て前記選択された前記複数の処理単位データ(M33,
M30)により候補ブロック(新モジュールM33,M
30)を生成する手段(B2,B3)と、前記生成され
た候補ブロック(M33,M30)に含まれる前記要素
データの数と設定値との比較を行う手段(B4)と、前
記比較結果に基づいて、前記候補ブロック(M33,M
30)を前記データブロックとするか否かを決定する手
段(B4,B7)とを備えたものである。
【0078】本発明のパーティショニング装置におい
て、更に、前記決定する手段の結果、前記候補ブロック
(M33,M30)を前記データブロックとしないと決
定した場合(B4−N)に、前記検出結果に基づいて、
前記第1のグループ(階層C)に帰属する前記複数の処
理単位データ(M30,M31,M32,M33)の中
から、前記候補ブロック(M33,M30)に含まれる
前記複数の処理単位データ(M33,M30)のうちの
少なくとも一の前記処理単位データ(M30)に代わる
前記処理単位データ(M31)を選択し、前記選択され
た前記処理単位データ(M31)により第2の候補ブロ
ック(M31,M33)を生成する手段(B3)を備
え、前記比較を行う手段は、前記生成された第2の候補
ブロック(M31,M33)に含まれる前記要素データ
の数と前記設定値との比較を行い、前記決定を行う手段
は、前記比較結果に基づいて、前記第2の候補ブロック
(M31,M33)を前記データブロックとするか否か
を決定するものである。
【0079】本発明のパーティショニング装置におい
て、更に、前記決定する手段の結果、前記候補ブロック
(M33,M30)を前記データブロックとしないと決
定した場合(B4−N)に、前記第1のグループ(階層
C)に帰属する前記複数の処理単位データ(M30,M
31,M32,M33)を用いて前記候補ブロック(M
33,M30)に代わる第2の候補ブロックを生成でき
ないとき(B10−Y)に、前記第1のグループ(階層
C)に帰属する前記複数の処理単位データ(M30,M
31,M32,M33)の少なくとも一部の処理単位デ
ータを前記複数のグループのうちの第2のグループ(階
層A)に帰属させる手段(B12)を備えたものであ
る。
【0080】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)に含まれる前記要素
データの数と、前記ボードに割り当て可能な前記要素デ
ータの最大数を示す最大搭載要素データ数との対比を行
う手段(B5)と、前記対比の結果、前記候補ブロック
(M33,M30)に含まれる前記要素データの数が前
記最大搭載要素データ数を超えていると判断した場合
(B5−N)には、前記候補ブロック(M33,M3
0)に含まれる前記複数の処理単位データ(M33,M
30)のうちの少なくとも一の前記処理単位データ(M
33)を、前記複数のグループのうちの第2のグループ
(階層A)に帰属させる手段(B14)を備えたもので
ある。
【0081】本発明のパーティショニング装置におい
て、前記分割の結果としての複数のデータブロックのそ
れぞれは、ボードに割り当てられ、更に、前記生成され
た候補ブロック(M33,M30)における他の前記複
数のデータブロックのそれぞれとの間の電気的接続を行
うための外部信号の数を検出する手段と、前記検出され
た前記候補ブロック(M33,M30)の前記外部信号
の数と、前記ボードに接続可能な前記外部信号の最大数
を示す最大ボード間信号数との対比を行う手段(B6)
と、前記対比の結果、前記検出された前記候補ブロック
(M33,M30)の前記外部信号の数が、前記最大ボ
ード間信号数を超えていると判断した場合(B6−N)
に、前記第1のグループ(階層C)に帰属する前記複数
の処理単位データ(M30,M31,M32,M33)
を用いて前記候補ブロック(M33,M30)に代わる
第2の候補ブロックを生成できないとき(B9−Y)
に、前記候補ブロック(M33,M30)の少なくとも
一の前記処理単位データ(M33)を、前記複数のグル
ープのうちの第2のグループ(階層A)に帰属させる手
段(B14)を備えたものである。
【0082】本発明のパーティショニング装置におい
て、前記複数のグループ(階層A,C)は、階層を形成
し、前記第2のグループ(階層A)に帰属させる手段
(B12,B14)は、前記第2のグループ(階層A)
として、前記第1のグループ(階層C)よりも前記階層
において上位にあるグループを選択するものである。
【0083】本発明のパーティショニング装置におい
て、更に、前記第1のグループ(階層C)が前記階層に
おいて最上位にあるか否かを判断する手段(B11,B
13)と、前記判断の結果、前記第1のグループ(階層
C)が前記最上位にあると判断された場合には、前記第
2のグループ(階層A)に帰属させる手段(B12)に
代えて、前記被検査対象データの前記分割を行うことが
できない旨を報知する手段(B15)を備えたものであ
る。
【0084】本発明のパーティショニング装置は、被検
査対象データ(回路データ)を複数に分割して前記分割
の結果としての複数のデータブロック(回路ブロック,
1パーティション)を生成した後に、前記被検査対象デ
ータのエミュレーションを行うエミュレーション装置で
あって、少なくとも一つの要素データ(ゲート)を備え
た処理単位データ(モジュールM30,M31,M3
2,M33)を複数備えて構成されるデータを前記被検
査対象データ(M3)として提供する手段と、前記被検
査対象データ(M3)を構成する前記複数の処理単位デ
ータ(M30,M31,M32,M33)にそれぞれ含
まれる前記要素データの数を検出する手段(B1)と、
前記検出結果に基づいて、前記被検査対象データ(M
3)を構成する前記複数の処理単位データ(M30,M
31,M32,M33)から複数の前記処理単位データ
(M33,M30)を選択して前記選択された複数の処
理単位データ(M33,M30)により候補ブロック
(新モジュールM33,M30)を生成する手段(B
2,B3)と、前記生成された候補ブロック(M33,
M30)に含まれる前記要素データの数と設定値との比
較を行う手段(B4)と、前記比較結果に基づいて、前
記候補ブロック(M33,M30)を前記データブロッ
クとするか否かを決定する手段(B4,B7)と、複数
の前記決定された前記データブロックのそれぞれに並行
してデータ処理を行う手段とを備えたものである。
【0085】
【発明の実施の形態】以下、図面を参照して、本発明の
パーティショニング方法の第1の実施形態について説明
する。
【0086】なお、以下、用いられる用語の定義は、前
記従来技術で行った定義と同じである。
【0087】本実施形態に係るパーティショニング方法
は、前記エミュレーション装置に適用することが可能で
ある。ここで、前記エミュレーション装置とは、LSI
などの回路データ(被検査対象データ)を、FPGA
(フィールド・プログラマブル・ゲートアレイ)にマッ
ピングして、FPGA上で前記回路データの論理検証を
行うための装置である。
【0088】前記エミュレーション装置は、複数枚のエ
ミュレーションボード(以下ボードという)と、前記複
数枚のボードのそれぞれに搭載される複数のFPGAと
を備えている。
【0089】本実施形態のパーティショニング方法は、
前記エミュレーション装置において、前記複数のボード
間の接続信号数を考慮しながら、各ボードにマッピング
される前記回路データの回路規模(前記ゲート数、前記
ゲート規模)を、従来に比べて均等化するためのもので
ある。
【0090】すなわち、本実施形態のパーティショニン
グシステムでは、前記回路データを前記複数のボードの
それぞれにマッピングする(前記回路データの一部を前
記回路ブロックとして前記複数のボードのそれぞれに割
り当てる)ときに、1枚のボードにマッピングされるゲ
ート数(搭載ゲート数)が、ボード1枚あたりの前記最
大搭載ゲート数および、前記最大ボード間信号数の制限
を満たし、かつ予め設定される搭載基準ゲート数(設定
値)に近い数となるように、前記パーティショニングが
行われる。
【0091】本実施形態において、前記搭載基準ゲート
数に近い数とは、前記搭載基準ゲート数をわずかに超え
ている数を示す。なお、上記に関わらず、本発明におい
ては、前記搭載基準ゲート数に近い数とは、前記搭載基
準ゲート数±Cにおいて、Cがなるべく小さい値をとる
という意味である。
【0092】このように、前記複数のボードのそれぞれ
について搭載される前記ゲート(要素データ)の数(前
記搭載ゲート数)を、一定の値(前記搭載基準ゲート
数)の近傍に集めることができるため、前記複数のボー
ドのそれぞれの前記搭載ゲート数の最大値と最小値の差
が小さくなる。これにより、前記搭載ゲート数の前記最
大値をなるべく小さい値にすることができる。よって、
前記複数のボードのそれぞれについて並行して行われる
コンパイル(データ処理)の処理時間が従来に比べて均
一化し、全体の処理時間の短縮化を図ることができる。
【0093】図1を参照して、本実施形態の構成につい
て説明する。
【0094】本実施形態のパーティショニングシステム
は、キーボード等の外部からデータを入力するための入
力部1と、プログラム制御で動作するデータ処理部2
と、データを格納するデータ格納部3と、外部にデータ
を出力するための出力部4とを備えている。
【0095】前記データ処理部2は、ゲート数検出部2
1と、平均搭載ゲート算出部22と、階層展開部23
と、信号検出部24と、パーティション生成部25とを
備えている。
【0096】前記データ格納部3は、回路データ格納部
31と、ゲート数換算ライブラリ格納部32と、モジュ
ールゲート数格納部33と、パーティションパラメータ
格納部34と、階層データ格納部35と、信号データ格
納部36と、パーティションデータ格納部37とを備え
ている。
【0097】回路データ格納部31には、前記エミュレ
ーション装置で論理検証の対象となる複数の回路データ
(被検査対象データ)が予め格納されている。前記回路
データ格納部31に格納されている前記回路データは、
前記プリミティブブロック(前記ゲート)を前記基本単
位として記述されている。また、前記回路データは、複
数の前記モジュール(処理単位データ)が階層構造を形
成してなるものである。
【0098】前記ゲート数換算ライブラリ格納部32に
は、ゲート数換算ライブラリが格納されている。前記ゲ
ート数換算ライブラリには、前記プリミティブブロック
(前記ゲート)のそれぞれの前記ゲート規模(前記ゲー
ト数、要素データの数)を示すデータが格納されてい
る。
【0099】前記モジュールゲート数格納部33には、
前記回路データを構成する複数のモジュールのそれぞれ
に含まれる前記ゲート数を示すデータ、前記回路データ
を構成する階層のそれぞれに含まれる前記ゲート数を示
すデータ、および前記回路データに含まれる全ての前記
ゲート数を示すデータが格納される。
【0100】前記パーティションパラメータ格納部34
には、前記パーティショニングに必要なデータとして、
前記エミュレーション装置が具備するボード枚数を示す
データ、ボード1枚あたりの最大搭載ゲート数を示すデ
ータ、最大ボード間信号数を示すデータ、および後述す
る平均搭載ゲート数(平均搭載要素データ数)を示すデ
ータが格納される。
【0101】前記階層データ格納部35には、前記階層
展開部23による階層展開処理がなされた後の階層を示
すデータが格納される。
【0102】前記信号データ格納部36には、前記信号
検出部24により検出された、前記階層展開されたモジ
ュール単体の外部信号数を示すデータが格納される。
【0103】前記パーティションデータ格納部37に
は、前記パーティション生成部25により生成されたパ
ーティションデータが格納される。
【0104】次に、図1から図5を参照して、本実施形
態の動作について説明する。
【0105】まず、前記入力部1から前記データ処理部
2に、制御コマンドが出力される。この制御コマンド
は、論理検証の対象とすべき前記回路データを、前記回
路データ格納部31に格納された前記複数の回路データ
の中から指定する旨の内容を示している。
【0106】前記ゲート数検出部21について説明す
る。
【0107】前記ゲート数検出部21は、前記制御コマ
ンドを入力し、前記入力した制御コマンドにより指定さ
れた前記回路データを、前記回路データ格納部31から
読み出す。
【0108】前記ゲート数検出部21は、前記ゲート数
換算ライブラリ格納部32に格納された前記データを参
照する。前記ゲート数検出部21は、前記参照された前
記データに基づいて、前記読み出された前記回路データ
に含まれる全体の前記ゲート数を、前記モジュール単位
で(前記回路データに含まれる前記モジュールごとに)
検出する。
【0109】前記ゲート数検出部21は、前記モジュー
ル単位の前記ゲート数に基づいて、前記回路データの階
層(グループ)のそれぞれの前記ゲート数および、前記
回路データ全体の前記ゲート数を算出する。
【0110】この場合、前記ゲート数検出部21は、前
記ボトムアップで前記モジュールごとの前記ゲート数を
検出することにより、前記複数のモジュールのそれぞれ
に含まれる前記ゲート数の他、前記複数の階層のそれぞ
れに含まれる全モジュールの前記ゲート数や、前記回路
データの全体に含まれる前記ゲート数を検出することが
できる。
【0111】前記ゲート数検出部21は、これらの、モ
ジュール単位の(モジュールのそれぞれの)前記ゲート
数を示すデータ、前記階層のそれぞれの前記ゲート数を
示すデータおよび、前記回路データ全体の前記ゲート数
を示すデータを、前記モジュールゲート数格納部33に
格納する。
【0112】次に、平均搭載ゲート数算出部22につい
て説明する。
【0113】平均搭載ゲート数算出部22は、前記パー
ティションパラメータ格納部34に格納された前記ボー
ド枚数を示すデータと、前記モジュールゲート数格納部
33に格納された前記回路データに含まれる全ての前記
ゲート数(回路データ全体の前記ゲート数)を示すデー
タに基づいて、ボード1枚あたりの平均搭載ゲート数
(平均搭載要素データ数)を算出する。
【0114】前記平均搭載ゲート数算出部22は、前記
算出された平均搭載ゲート数を示すデータを前記パーテ
ィションパラメータ格納部34に格納する。
【0115】ここで、前記平均搭載ゲート数の計算式
は、以下の通りとなる。 平均搭載ゲート数=(回路データ全体のゲート数)/(使
用ボード枚数)
【0116】上記の計算式において、前記使用ボード枚
数とは、前記エミュレーション装置が備える前記ボード
の全ての枚数であり、同一の前記エミュレーション装置
を使用する限り常に同じ値である。言い換えれば、前記
回路データに含まれる全ての前記ゲート数が小さい場合
であっても、前記エミュレーション装置が備える前記ボ
ードの全てを用いて前記パーティショニングが行われ
る。
【0117】次に、前記階層展開部23について説明す
る。
【0118】前記階層展開部23は、外部から前記入力
部1を介して設定される展開基準ゲート数(所定値)よ
り大きいゲート数を持つモジュールについて階層を展開
する。この場合、前記階層展開部23は、前記モジュー
ルゲート数格納部33に格納された前記モジュールのそ
れぞれの前記ゲート数を示すデータ、前記パーティショ
ンパラメータ格納部34に格納された前記平均搭載ゲー
ト数を示すデータおよび前記最大搭載ゲート数を示すデ
ータ、ならびに前記展開基準ゲート数を示すデータに基
づいて、前記階層展開を行う。
【0119】前記階層展開部23による前記モジュール
の階層展開は、前記回路データの階層を形成する複数の
モジュールのうち、最上位階層から下位階層に向かう順
序(トップダウン)で行われる。
【0120】前記階層展開部23により階層展開された
後の階層を示すデータは、前記階層データ格納部35に
格納される。
【0121】前記階層展開部23の動作を、図2のフロ
ーチャートを参照して説明する。
【0122】前記階層展開部23は、前記モジュールゲ
ート数格納部33に格納された前記モジュールのそれぞ
れの前記ゲート数を示すデータと、前記入力部1より設
定される前記展開基準ゲート数を示すデータを入力する
(ステップA1)。
【0123】前記設定された展開基準ゲート数が、前記
パーティションパラメータ格納部34に格納された前記
平均搭載ゲート数よりも大きいとき(ステップA2−
N)は、前記展開基準ゲート数の設定エラーを前記出力
部4を介して通知する(ステップA2a)。
【0124】ここで、設定エラーとされる理由は、次の
通りである。本実施形態では、後述するように、前記展
開基準ゲート数以下の前記モジュールを複数組み合わせ
て、(前記平均搭載ゲート数≦)前記搭載基準ゲート数
に近い前記ゲート数をもつ新モジュールを生成するた
め、前記階層展開された後の前記モジュール(前記新モ
ジュールを構成する要素の一つ)が既に前記平均搭載ゲ
ート数以上であると、前記組み合わせを作らない状態で
前記搭載基準ゲート数を超えている場合が有り得る。そ
の場合には、後述する図4および図5のフローチャート
が無効となり、本実施形態の狙い(前記複数のボードの
それぞれの前記搭載ゲート数を、前記搭載基準ゲート数
の近傍に集めること)を実現することができなくなるか
らである。
【0125】また、前記モジュールの単体で前記平均搭
載ゲート数以上であると、前記組み合わせたときには
(前記組み合わせ方を工夫したとしても)、前記搭載基
準ゲート数を大幅に超えることが考えられ、やはり前記
本実施形態の狙いを実現することができなくなるからで
ある。
【0126】前記展開基準ゲート数は、前記最大搭載ゲ
ート数よりも小さい値が設定される。そうでないと、ス
テップA3でNo−ステップA8となったときに、その
モジュールの前記搭載ゲート数が前記最大搭載ゲート数
よりも大きいケースが生じてしまうからである。
【0127】一方、前記展開基準ゲート数が前記平均搭
載ゲート数以下のとき(ステップA2−Y)は、前記ス
テップA1で入力された前記モジュールのそれぞれの前
記ゲート数と前記展開基準ゲート数とを比較する(ステ
ップA3)。
【0128】前記モジュールのゲート数が前記展開基準
ゲート数より大きいと判断された場合(ステップA3−
Y)は、そのモジュールを含む階層が前記最下位階層で
ないかを判断する(ステップA4)。
【0129】前記判断の結果、そのモジュールを含む階
層が最下位階層ではないと判断された場合(ステップA
4−Y)は、そのモジュールを階層展開し(ステップA
5)、展開後の階層データを前記階層データ格納部35
に格納する(ステップA9)。
【0130】例えば、図3に示す例では、前記モジュー
ルM1に含まれるゲート数は、前記展開基準ゲート数よ
りも大きいと判断されており(ステップA3−Y)、ま
た、前記モジュールM1が含まれる前記階層Aは、前記
最下位階層ではないと判断される(ステップA4−Y)
ため、前記モジュールM1が前記階層展開されて(ステ
ップA5)、モジュールM11,12に分割される。前
記階層展開された前記モジュールM1の階層を示すデー
タは、前記階層データ格納部35に格納される(ステッ
プA9)。
【0131】次いで、前記回路データに含まれる全ての
前記階層データが前記階層データ格納部35に格納され
たか否かを判断する(ステップA10)。前記モジュー
ルの階層展開は、前記トップダウンで行われていること
から、このときは、全ての前記階層データが前記階層デ
ータ格納部35に格納されている訳ではないと判断され
(ステップA10−N)、前記ステップA1に戻って2
度目のフローに移る。この2度目のフローで、前記モジ
ュールM12が階層展開されて(ステップA5)、前記
モジュールM121…M12Yに分割される。その後、
前記モジュールM12の階層を示すデータは、前記階層
データ格納部35に格納される。
【0132】前記ステップA3における判断の結果、前
記モジュールのゲート数が前記展開基準ゲート数以下と
判断された場合(ステップA3−N)、そのモジュール
の階層展開を行わない(ステップA8)で、そのままの
モジュールのデータを階層データ格納部35に格納する
(ステップA9)。
【0133】ここで、階層展開を行わない理由は、次の
通りである。前記展開基準ゲート数以下の前記ゲート数
を有する前記モジュールについて、さらに前記階層展開
を行うと、前記ゲート数の小さな前記モジュールが多数
できることになり、後で行われるパーティショニングの
際に、前記多数のモジュールの組み合わせ数が膨大にな
り、前記パーティショニングの処理が収束し難くなるた
めである。前記展開基準ゲート数より前記ゲート数が小
さい前記モジュールは前記階層展開を行わない(不要な
展開をしない)ことにより、前記組み合わせをするとき
の要素数をできるだけ少なくしている。
【0134】前記ステップA4における判断の結果、そ
のモジュールが最下位に相当する階層に含まれると判断
された場合(ステップA4−N)は、そのモジュールの
ゲート数と前記パーティションパラメータ格納部34に
格納された前記最大搭載ゲート数とを比較する(ステッ
プA6)。
【0135】前記ステップA6における判断の結果、前
記そのモジュールのゲート数が前記最大搭載ゲート数よ
りも大きいと判断された場合(ステップA6−Y)は、
前記そのモジュールが前記最大搭載ゲート数を超えてい
る旨のエラーの通知を、前記出力部4を介して行う(ス
テップA7)。
【0136】前記ステップA7において、前記エラーと
するのは以下の理由による。そのモジュールは、前記最
下位階層に含まれていて(ステップA4−N)、前述し
たように、前記FPGA上にマッピング可能な前記最小
単位であるため、これ以上階層展開して分割することが
できないにも拘わらず、最大搭載ゲート数を越えており
(ステップA6−Y)、そのモジュールがそのモジュー
ル1つのみで前記ボードに割り当てられたとしても、本
エミュレーション装置では扱えない規模であるからであ
る。
【0137】この場合には、そのモジュールをさらに階
層展開できるように、さらに階層的に設計する(さらに
下位の階層をもつように階層化する)か、そのモジュー
ルに含まれるゲート数が前記最大搭載ゲート数以下とな
るように、設計し直す必要がある。
【0138】前記ステップA6における判断の結果、前
記そのモジュールのゲート数が前記最大搭載ゲート数よ
りも小さいと判断された場合(ステップA6−N)に
は、そのモジュールの階層を展開しない(ステップA
8)。前記そのモジュールは最下層である(ステップA
4−N)ため、それ以上階層展開できず、前記そのモジ
ュールのゲート数が前記最大搭載ゲート数よりも小さ
く、その点では問題が無いため、そのまま放置する。
【0139】上記のようにして、前記トップダウンで前
記階層展開がなされる又は、なされないの処理(ステッ
プA5,A8)が行われた前記モジュールは、その都
度、その階層を示すデータ(階層データ)が前記階層デ
ータ格納部35に格納されていく。
【0140】このようにして、前記回路データに含まれ
る全ての前記階層データが前記階層データ格納部35に
格納されたと判断されると(ステップA10−Y)、図
2の処理は終了する。
【0141】上記図2に示すフローチャートに従って、
前記階層展開部23により所定の階層が展開される。図
3は、その階層展開例を示したものである。
【0142】次に、前記信号検出部24について説明す
る。
【0143】前記信号検出部24は、前記階層展開部2
3により階層展開された後のモジュールのそれぞれ(モ
ジュール単体)の外部信号数を検出する。また、前記信
号検出部24は、後述する新モジュールの外部信号数を
検出する。このとき、前記信号検出部24は、前記回路
データ格納部31に格納された前記回路データと、前記
ゲート数換算ライブラリ格納部32に格納された前記デ
ータと、前記階層データ格納部35に格納された前記デ
ータとに基づいて、前記外部信号数を検出する。前記信
号検出部24は、前記検出された外部信号数を示すデー
タを、前記信号データ格納部36に格納する。
【0144】次に、前記パーティション生成部25につ
いて説明する。
【0145】前記パーティション生成部25は、前記最
大搭載ゲート数、前記最大ボード間信号数の制限を満た
し、かつ前記搭載基準ゲート数に近いゲート数が1枚の
ボードに搭載されるように、下位階層から(ボトムアッ
プで)パーティショニングを行う。
【0146】前記パーティション生成部25は、前記パ
ーティショニングの結果を示すデータを、前記パーティ
ションデータ格納部37に格納する。
【0147】パーティション生成部25は、外部から前
記入力部1を介して設定される、前記ボードあたりの搭
載基準ゲート数を示すデータと、前記モジュールゲート
数格納部33に格納された前記モジュールのそれぞれの
ゲート数を示すデータ、前記パーティションパラメータ
格納部34に格納されたパーティショニングに必要なデ
ータ、前記信号データ格納部36に格納された前記モジ
ュールの外部信号数を示すデータおよび前記階層データ
格納部35に格納された前記階層を示すデータをもと
に、上記パーティショニングを行う。
【0148】前記パーティション生成部25では、最下
位階層(図3の例では階層Cまたは階層D)より順次、
同一階層内で以下に述べるようなパーティション処理を
実施していく。
【0149】なお、前記最下位階層C,Dのそれぞれの
モジュール(処理単位データ)M30…M33、M12
1…M12Yは、前記ゲート(要素データ)のレベルで
記述されている。
【0150】図3において、最下位階層の一つである階
層Cに関して、図4および図5のフローチャートを参照
しながら説明する。
【0151】なお、図4および図5のフローチャートに
おいて、モジュールが取り扱われるときには、図3に示
されるモジュールの階層構造の下位階層から上位階層に
向かう順序で(ボトムアップで)取り扱われる。
【0152】図3の階層Cにおいて、同一階層内のモジ
ュールは、M30、M31、M32、M33であり、そ
れぞれのモジュールのゲート数を、g30、g31,g
32,g33とし、ゲート数の大小関係を、 g30<g31<g32<g33 とする。
【0153】まず、同一階層内でモジュールのゲート数
の大きい順に対象モジュールとする(ステップB1)。
例えば、前記階層Cでは、初めはモジュールM33が前
記対象モジュールとなる。
【0154】次に、同一階層内で、前記対象モジュール
以外のモジュールを2つ以上組み合わせたときの全ての
組み合わせの合計ゲート数をそれぞれ算出し、その算出
された値を、組み合わせゲート和とする(ステップB
2)。
【0155】前記階層Cでは、前記対象モジュールであ
る前記モジュールM33以外のモジュールの2つ以上の
組み合わせは、以下の4通り有り、それぞれの前記組み
合わせゲート和は以下の通りとなる。
【0156】 (1)組み合わせ(M30、M31) 組み合わせゲート和=g30+g31 (2)組み合わせ(M30、M32) 組み合わせゲート和=g30+g32 (3)組み合わせ(M31、M32) 組み合わせゲート和=g31+g32 (4)組み合わせ(M30、M31、M32) 組み合わせゲート和=g30+g31+g32
【0157】すなわち、N個のモジュールを含む階層で
は、組み合わせの数は、N個から対象モジュールを除い
たN−1個を母体数として、2個以上の組み合わせを作
るので、 N−1C2+N−1C3+N−1C4+…+N−1CN
−2+1 である。
【0158】次に、前記対象モジュールM33を除くモ
ジュール単体のゲート数と、前記組み合わせゲート和の
数を、少ない順に並べ、並べた結果、最も少ないものと
前記対象モジュールM33とを組み合わせて、新モジュ
ール(候補ブロック)とする(ステップB3)。
【0159】前記階層Cの例では、それぞれのモジュー
ル単体のゲート数と、前記組み合わせゲート和の大小関
係を以下の通りとする。 g30<g31<g30+g31<g32<g30+g
32<g31+g32<g30+g31+g32
【0160】前記階層Cの例では、前記モジュールM3
0が一番小さいゲート数(g30)であるので、前記モ
ジュールM30と前記対象モジュールである前記モジュ
ールM33を組み合わせた(M33,M30)を前記新
モジュールとする。
【0161】前記ステップB3の出力である前記新モジ
ュール(M33,M30)のゲート数(g33+g3
0)と、前記入力部1より設定される前記搭載基準ゲー
ト数とを比較する(ステップB4)。
【0162】ここで設定される前記搭載基準ゲート数
は、前述の展開基準ゲート数以上である必要がある。前
記階層展開部23で階層展開された後のそれぞれのモジ
ュールのゲート数は、前記展開基準ゲート数よりも小さ
いため(図2の前記ステップA3−Y、A5参照)、そ
れらのモジュールを組み合わせてなる前記新モジュール
のゲート数の判断基準である前記搭載基準ゲート数が、
前記展開基準ゲート数より小さいとするのは無意味だか
らである。
【0163】また、前記搭載基準ゲート数は、前記平均
搭載ゲート数以上である必要がある。そもそも、前記平
均搭載ゲート数は、上記計算式により算出されたもので
あることから、前記搭載基準ゲート数が前記平均搭載ゲ
ート数よりも小さいと、前記回路データを、前記エミュ
レーション装置が有する前記複数のボードに搭載しきれ
ないからである(後述するステップB7参照)。つま
り、 前記展開基準ゲート数≦前記平均搭載ゲート数≦前記搭
載基準ゲート数 の関係にある。
【0164】前記ステップB4における判断の結果、前
記新モジュール(M33,M30)の前記ゲート数(g
33+g30)が、前記搭載基準ゲート数以上であると
判断された場合(ステップB4−Y)、ステップB5に
進む。
【0165】前記ステップB5では、前記新モジュール
(M33,M30)の前記ゲート数(g33+g30)
と、前記パーティションパラメータ格納部34に格納さ
れた前記最大搭載ゲート数とを比較する。
【0166】前記ステップB5における判断の結果、前
記新モジュール(M33,M30)の前記ゲート数(g
33+g30)が前記最大搭載ゲート数以下であると判
断された場合(ステップB5−Y)、ステップB6に進
む。
【0167】前記ステップB6では、前記新モジュール
(M33,M30)の外部信号数と、前記パーティショ
ンパラメータ格納部34に格納された前記最大ボード間
信号数とを比較する。
【0168】ここで、「外部信号数」とは、他のモジュ
ールと接続するための配線の数に相当する。前記信号デ
ータ格納部36に前記モジュールごとの前記外部信号数
を示すデータが格納されている。したがって、前記パー
ティション生成部25は、前記信号データ格納部36に
格納された前記データに基づいて、前記信号検出部24
に、前記新モジュール(M33,M30)の前記外部信
号数を検出させる。
【0169】前記ステップB6における判断の結果、前
記新モジュール(M33,M30)の前記外部信号数が
前記最大ボード間信号数以下であると判断された場合
(ステップB6−Y)、この新モジュール(M33,M
30)を1パーティション(データブロック)と確定す
る(ステップB7)。ここで、前記1パーティションと
は、前記複数のボードのうちの1枚のボードに割り当て
られるゲート数(前記回路ブロック)に相当する。
【0170】この場合、前記新モジュール(M33,M
30)に含まれるモジュールM33,M30を階層(本
例では階層C)から削除する(ステップB8)。
【0171】前記1パーティションとして確定された前
記新モジュール(M33,M30)では、前記モジュー
ルM33と前記モジュールM30とが組み合わされる前
に比べて、前記モジュールM33と前記モジュールM3
0との間のインターフェースに相当する分だけ、前記外
部信号数を減らすことができる。
【0172】このように、前記パーティション生成部2
5によるパーティショニングの結果で、各モジュールの
前記外部信号数が変わるため、前記信号データ格納部3
6に格納された前記データは、その変わったデータにア
ップデートされる。
【0173】前記ステップB8の後、次にゲート数の大
きいモジュールを前記対象モジュールとする(ステップ
B1)。前記階層Cの例では、前記ステップB8におい
て前記新モジュール(M33,M30)に含まれるモジ
ュールM33,M30が削除された結果、前記階層C内
の残りのモジュールは、M31,M32となり、このう
ちゲート数が大きい方のモジュールM32が前記対象モ
ジュールとなる(ステップB1)。前記モジュールM3
2が前記対象モジュールとされた後の各ステップについ
ては、その説明を省略する。
【0174】一方、前記ステップB4における判断の結
果、前記新モジュール(M33,M30)のゲート数
(g33+g30)が前記搭載基準ゲート数より小さい
と判断された場合(ステップB4−N)は、ステップB
10に進む。
【0175】前記ステップB10では、同一階層(本例
では階層C)内で、全てのモジュールM30…M33の
組み合わせが完了しているか否かを判断する。ここで、
「同一階層内で全てのモジュールM30…M33の組み
合わせが完了している」とは、同一階層内で他の全ての
モジュールについて前記新モジュールとしての検討を終
了しており、他に組み合わされるべきモジュールが残っ
ていないことを意味する。
【0176】前記ステップB10における判断の結果、
前記全てのモジュールM30…M33の組み合わせが完
了していると判断された場合(ステップB10−Y)、
現在の階層(本例では階層C)が最上位階層ではないか
否かを判断する(ステップB11)。
【0177】前記ステップB11における判断の結果、
その階層が最上位階層ではないと判断された場合(ステ
ップB11−Y)、その階層Cにある残りの全てのモジ
ュールM31,32を1段階上位の階層(本例では階層
A)に上げる(ステップB12)。
【0178】階層Cにある残りの全てのモジュールM3
1,32のそれぞれと、当該上位の階層Aに含まれるモ
ジュールM1,M2,M3のそれぞれとの組み合わせ
を、その後に検討するためである。
【0179】一方、前記ステップB10における判断の
結果、階層(本例では階層C)内で、全てのモジュール
M30…M33の組み合わせを完了していないと判断さ
れた場合(ステップB10−N)、前記ステップB3に
戻る。
【0180】前記ステップB3では、前記組み合わせゲ
ート和が次に少ない組み合わせモジュールを前記対象モ
ジュールM33と組み合わせて、前記新モジュールとす
る。前記階層Cの例では、2番目にゲート数の少ないモ
ジュールM31と組み合わせて、前記新モジュールは
(M33,M31)となる。
【0181】上記のように、同一階層C内で他に組み合
わせ可能なモジュールが残っている限り(ステップB1
0−N)、前記新モジュールのゲート数が前記搭載基準
ゲート数を超えるまで、最適な前記新モジュールの組み
合わせを模索するループ(ステップB3,B4−N,B
10−N)が繰り返される。そのゲート数が前記搭載基
準ゲート数に近い前記新モジュールを生成するためであ
る。
【0182】一方、前記ステップB11における判断の
結果、その階層が最上位階層であると判断された場合
(ステップB11−N)、パーティショニングエラーを
出力部4を介して通知する(ステップB15)。
【0183】ここで、パーティショニングエラーが通知
される理由は、以下の通りである。前記ステップB11
において最上位階層であると判断された場合(ステップ
B11−N)とは、2つ以上のモジュールM33,M3
0を組み合わせた前記新モジュール(M33,M30)
が前記搭載基準ゲート数より小さく(ステップB4−
N)かつ同一階層内で全てのモジュールM30…M33
の組み合わせを完了していて(ステップB10−Y)、
かつ最上位階層であり(ステップB11−N)、また前
述したように前記搭載基準ゲート数≧前記平均搭載ゲー
ト数であるため、前記搭載基準ゲート数よりも小規模の
ゲート数で他に組み合わせが無く前記パーティションを
決定してしまうと、前記回路データを前記複数のボード
に搭載しきれなくなる可能性があるからである。つま
り、現在の前記搭載基準ゲート数および前記展開基準ゲ
ート数の設定では、本実施形態が実現しようとするパー
ティショニングが不可能と判断されるためである。
【0184】一方、前記ステップB5における判断の結
果、前記新モジュール(M33,M30)のゲート数
(g33+g30)が前記最大搭載ゲート数より大きい
と判断された場合(ステップB5−N)、ステップB1
3に進む。
【0185】前記ステップB13では、前記新モジュー
ル(M33,M30)が含まれる現在の階層Cが、最上
位階層ではないか否かが判断される。
【0186】前記ステップB13における判断の結果、
前記新モジュール(M33,M30)が含まれる階層C
が最上位階層ではないと判断された場合(ステップB1
3−Y)は、ステップB14に進む。
【0187】前記ステップB14では、前記対象モジュ
ールを1段階上の階層に上げる。その後、前記対象モジ
ュールを前記階層から削除し(ステップB16)、前記
ステップB1に戻る。
【0188】前記ステップB1では、前記モジュールの
ゲート数が次に大きいモジュールを前記対象モジュール
とする。
【0189】前記階層Cの例では、前記対象モジュール
M33を上位階層である階層Aに上げて(ステップB1
4)、現在の階層CよりモジュールM33を削除し(ス
テップB16)、次に大きいモジュールM32を前記対
象モジュールとする(ステップB1)。
【0190】前記対象モジュールM33を上位階層であ
る階層Aに上げる理由は、前記階層C内の前記モジュー
ルとの組み合わせで1パーティションが生成される可能
性が無いため(ステップB3、ステップB5−N参
照)、前記階層A内のモジュールとの組み合わせで1パ
ーティションが生成される可能性を残すためである。
【0191】また、上記のように、前記対象モジュール
を前記モジュールM33から前記モジュール32にする
(ステップB16,B1)ことで、前記ステップB5に
おいて、前記新モジュールのゲート数が前記最大搭載ゲ
ート数よりも小さいと判断される(ステップB5−Y)
可能性が生まれる。
【0192】一方、前記ステップB13における判断の
結果、前記新モジュール(M33,M30)が含まれる
階層Cが最上位階層であると判断された場合(ステップ
B13−N)、パーティショニングエラーを出力部4を
介して通知する(ステップB15)。
【0193】ここで、パーティショニングエラーが通知
される理由は、以下の通りである。前記新モジュール
(M33,M30)の前記ゲート数(g33+g30)
が、前記最大搭載ゲート数を越えており(ステップB5
−N)、この前記新モジュール(M33,M30)は前
記ゲート数が小さい順に前記対象モジュールM33と組
み合わせた場合なので、残りの候補モジュール(モジュ
ールM30以外のモジュールM31,M32)を組み合
わせてなる新モジュールは、全て最大搭載ゲート数を超
える。かつ前記新モジュール(M33,M30)は、最
上位階層である(ステップB13−N)ため、前記ボト
ムアップで前記モジュールが扱われるフローにおいて、
他に組み合わせの対象となるモジュールが存在しない。
また、前記モジュールM33単体の前記ゲート数は、前
記展開基準ゲート数以下である(ステップA3)ため、
前記平均搭載ゲート数よりも小さい(ステップA2)。
この場合、前記モジュールM33のようなモジュール単
体で前記パーティションを作ると、前記回路データを前
記複数のボードに搭載しきれなくなる可能性があるから
である。よって、現在の搭載基準ゲート数および展開基
準ゲート数の設定では、パーティショニングが不可能と
判断される。
【0194】一方、前記ステップB6において、前記新
モジュール(M33,M30)の外部信号数が前記最大
ボード間信号数を越えていると判断された場合(ステッ
プB6−N)、ステップB9に進む。
【0195】前記ステップB9では、同一階層C内で全
ての組み合わせが完了したか否かが判断される。
【0196】前記ステップB9における判断の結果、同
一階層C内で全ての組み合わせが完了していると判断さ
れた場合(ステップB9−Y)、前述のステップB13
の処理を行う。
【0197】一方、前記ステップB9における判断の結
果、同一階層C内で全ての組み合わせを完了していない
と判断された場合(ステップB9−N)、前記ステップ
B3に戻る。
【0198】前記ステップB3では、前記組み合わせゲ
ート和が次に少ない、組み合わせであるモジュールM3
1を前記対象モジュールM33と組み合わせて、新モジ
ュール(M31,M33)とする。
【0199】これにより、前記新モジュール(M31,
M33)は、前記新モジュール(M30,M33)に比
べて、そのゲート数は増える(ステップB3)。しかし
ながら、ゲート数と外部信号数は、一般に無関係(一方
が他方に全く依存しない独立した関係)である。したが
って、前記ステップB6において、前記新モジュール
(M31,M33)の外部信号数が前記最大ボード間信
号数よりも小さいと判断される(ステップB6−Y)可
能性はある。
【0200】以上のように、前記パーティション生成部
25では、前記同一階層C内のゲート数の大きいモジュ
ールMから順に(ステップB1)、残りの小さいモジュ
ールMまたは小さいモジュールMの組み合わせと組み合
わせて(ステップB2,B3)、新モジュールを生成
し、前記生成された新モジュールのゲート数が前記搭載
基準ゲート数を越えるまで前記組み合わせ作業を繰り返
す(ステップB4−N→ステップB10−N→ステップ
B−3→ステップB4)。
【0201】前記新モジュールのゲート数が前記搭載基
準ゲート数を越えたところで(ステップB4−Y)、前
記新モジュールについて、前記最大搭載ゲート数と前記
最大ボード関信号数の制限を判断し(ステップB5,B
6)、前記判断の結果、問題なければ、前記新モジュー
ルをパーティションとして決定する(ステップB7)。
したがって、本実施形態では、前記搭載基準ゲート数に
近いゲート数で前記パーティションが確定し易い。
【0202】この場合、前記搭載基準ゲート数を、前記
平均搭載ゲート数に近い値に設定しておけば、更に、各
ボードに搭載されるゲート数の均等化を図ることができ
る。この場合、前記搭載基準ゲート数が前記平均搭載ゲ
ート数を大きく上回っていると、前記平均搭載ゲート数
に遠い分だけ、各ボードに搭載されるゲート数がばらつ
く可能性がある。
【0203】次に、図6から図8を参照して、第2の実
施形態について説明する。
【0204】まず、第2の実施形態の構成について説明
する。
【0205】図6の例では、図1の構成に対して、パー
ティション条件設定部26を追加したもので、その他の
構成は図1と同様である。
【0206】前記入力部1より、前記パーティション条
件設定部26に、前記パーティショニングの条件とし
て、前記展開基準ゲート数についての調整幅数αと、前
記搭載基準ゲート数についての調整幅数βが設定され
る。これら調整幅数α,βの意味については後述する。
【0207】前記パーティション条件設定部26は、前
記設定された調整幅数α,βのそれぞれに基づいて、前
記階層展開部23に入力される前記展開基準ゲート数お
よび前記パーティション生成部25に入力される前記搭
載基準ゲート数のそれぞれを自動的に更新する。
【0208】図7および図8においては、図4および図
5における前記ステップB15のパーティションエラー
の通知処理の代わりに、新たにステップB17として、
パーティション条件見直し処理ステップを備えている。
その他のフローは図4および図5と同じである。
【0209】次に、第2の実施形態の動作について説明
する。
【0210】前記パーティション条件設定部26は、前
記展開基準ゲート数(所定値)と前記搭載基準ゲート数
(設定値)の初期値を、 展開基準ゲート数=搭載基準ゲート数=平均搭載ゲート
数 として設定する。なお、前記パーティション条件設定部
26は、前記平均搭載ゲート数を示すデータを、前記パ
ーティションパラメータ格納部34から入力する。
【0211】上記のように前記展開基準ゲート数および
前記搭載基準ゲート数が初期値設定された後、第1の実
施形態と同様に、前記階層展開部23および前記信号検
出部24のそれぞれの処理が行われる。
【0212】次に、前記パーティション生成部25は、
図7および図8のフローチャートに従って処理を行う。
図7および図8において、ステップB17以外のステッ
プは、前述の図4および図5のステップと同様である。
【0213】ステップB11およびステップB13のそ
れぞれにおいて、最上位階層であると判断された場合
(ステップB11−N、ステップB13−N)、前記パ
ーティショニングの条件変更が、前記パーティション条
件設定部26に通知される(ステップB17)。
【0214】前記ステップB17の通知を受けた前記パ
ーティション条件設定部26では、前記設定された調整
幅数α、βのそれぞれに基づいて、前記展開基準ゲート
数および前記搭載基準ゲート数のそれぞれを 展開基準ゲート数=前回の展開基準ゲート数−α 搭載基準ゲート数=前回の搭載基準ゲート数+β と再設定する(図7および図8には図示せず)。
【0215】上記のように、再設定された前記展開基準
ゲート数および前記搭載基準ゲート数に基づいて、再
度、前記階層展開部23の処理から実行する。なお、前
記初期設定および前記再設定された前記展開基準ゲート
数および前記搭載基準ゲート数のそれぞれの値は、前記
出力部4に出力される。
【0216】前記パーティション条件設定部26では、
上記のように、前記パーティショニングの条件の見直し
を繰り返し行い、展開基準ゲート数≦0または 搭載基準ゲート数≧最大搭載ゲート数 になった場合は、パーティショニングエラーを出力部4
を介して出力する(図7および図8には図示せず)。
【0217】このパーティショニングエラーに対し、ユ
ーザーは、前記展開基準ゲート数の調整幅数αおよび前
記搭載基準ゲート数の調整幅数βのそれぞれを、より小
さい値に設定し直すか、前記回路データを構成する前記
モジュールのゲート数をより小さいものに再設計すると
いう対応を行う必要がある。
【0218】第2の実施形態では、前記第1の実施形態
の構成に加えて、前記パーティション条件設定部26を
設けることにより、前記展開基準ゲート数と前記搭載基
準ゲート数を自動的に設定することができ、かつ前記パ
ーティション生成部25において前記パーティションが
生成できない条件では、自動的に前記展開基準ゲート数
および前記搭載基準ゲート数の設定を更新することがで
きる。
【0219】なお、第1、第2の実施形態におけるエミ
ュレーション装置で用いられるFPGAは、動作速度が
遅いため、FPGA上にマッピングされたプリミティブ
ブロックのそれぞれの配線長の相違等による信号伝達遅
延が特に問題となることはない。すなわち、本実施形態
のエミュレーション装置は、論理検証を行うものであっ
て、レイアウトの良否判定を行うものではない。したが
って、本実施形態において、FPGA上にマッピングさ
れるプリミティブブロックのそれぞれが、実レイアウト
と異なっても問題が生じることはなく、本実施形態のよ
うにモジュールを階層展開して任意にパーティショニン
グを行うことができるのである。
【0220】
【発明の効果】本発明のパーティショニング方法によれ
ば、被検査対象データを複数に分割して前記分割の結果
としての複数のデータブロックを生成するパーティショ
ニング方法であって、少なくとも一つの要素データを備
えた処理単位データを複数備えて構成されるデータを前
記被検査対象データとして提供するステップと、前記被
検査対象データを構成する前記複数の処理単位データに
それぞれ含まれる前記要素データの数を検出するステッ
プと、前記検出結果に基づいて、前記被検査対象データ
を構成する前記複数の処理単位データから複数の前記処
理単位データを選択して前記選択された複数の処理単位
データにより候補ブロックを生成するステップと、前記
生成された候補ブロックに含まれる前記要素データの数
と設定値との比較を行うステップと、前記比較結果に基
づいて、前記候補ブロックを前記データブロックとする
か否かを決定するステップとを備えているため、全体の
処理時間を短縮化することができ、コンパイル等の処理
でエラーが発生する可能性を最小限に抑えることのでき
る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るパーティショ
ニング方法を行う装置の構成を示すブロック図である。
【図2】本発明の第1の実施の形態に係るパーティショ
ニング方法での階層展開部の処理を示すフローチャート
図である。
【図3】本発明の第1の実施の形態に係るパーティショ
ニング方法で階層展開を行った後の回路データの構成の
一例を示すブロック図である。
【図4】本発明の第1の実施の形態に係るパーティショ
ニング方法でのパーティション生成部の処理の一部を示
すフローチャート図である。
【図5】本発明の第1の実施の形態に係るパーティショ
ニング方法でのパーティション生成部の処理の一部を示
すフローチャート図である。
【図6】本発明の第2の実施の形態に係るパーティショ
ニング方法を行う装置の構成を示すブロック図である。
【図7】本発明の第2の実施の形態に係るパーティショ
ニング方法でのパーティション生成部の処理の一部を示
すフローチャート図である。
【図8】本発明の第2の実施の形態に係るパーティショ
ニング方法でのパーティション生成部の処理の一部を示
すフローチャート図である。
【図9】従来のパーティショニング装置の構成を示すブ
ロック図である。
【符号の説明】
1 入力部 2 データ処理部 3 データ格納部 4 出力部 5 入力部 6 データ処理部 7 データ格納部 8 出力部 21 ゲート数検出部 22 平均搭載ゲート数算出部 23 階層展開部 24 信号検出部 25 パーティション生成部 31 回路データ格納部 32 ゲート数換算ライブラリ格納部 33 モジュールゲート数格納部 34 パーティションパラメータ格納部 35 階層データ格納部 36 信号データ格納部 37 パーティションデータ格納部 51 ゲート数検出部 52 階層展開部 53 信号検出部 54 パーティション生成部 71 回路データ格納部 72 ゲート数換算ライブラリ格納部 73 モジュールゲート数格納部 74 信号数格納部 75 パーティションデータ格納部 A 階層 B 階層 C 階層 D 階層 M1 モジュール M2 モジュール M3 モジュール M11 モジュール M12 モジュール M30 モジュール M31 モジュール M32 モジュール M33 モジュール M121 モジュール M12Y モジュール g30 ゲート数 g31 ゲート数 g32 ゲート数 g33 ゲート数
フロントページの続き (56)参考文献 特開 平11−134385(JP,A) 特開 平11−73440(JP,A) 特表 平4−502985(JP,A) Behrens,D.、外2名、”H ierarchical partit ioning”、Computer−A ided Design,1996.ICC AD−96. Digest of Te chnical Papers.,1996 IEEE/ACM Internat ional Conference o n 、平成8年、p.470〜477 Ober,U、外2名、”Hiera rchical partitioni ng in a rapid prot otyping environmen t”、Rapid System Pr ototyping,1996,Proce edings.,Seventh IE EE International W orkshop on、平成8年、p. 30〜35 Vi Chi Chan、外1名、" Hierarchical parti tioning for field− programmable syste ms”、Computer−Aided Design,1997.Digest of Technical Paper s.,1997 IEEE/ACM Int ernational Confere nce on、平成9年、p.428〜435 Sanchis,L.A.、”Mul tiple−way network partitioning”、Comp uters,IEEE Transac tions on Volume: 38 1、平成元年、p.62〜81 Riess,B.M.、”Archi tecture driven k−w ay partitioning fo r multichip module s”、European Design and Test Conferen ce,1995.ED&TC 1995,Pro ceedings.、平成7年、p.71 〜76 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 664 JICSTファイル(JOIS)

Claims (38)

    (57)【特許請求の範囲】
  1. 【請求項1】 被検査対象の回路データを複数に分割し
    て前記分割の結果としての複数のデータブロックを生成
    するパーティショニング方法であって、 少なくとも一つの要素データを備えた処理単位データを
    複数備えて構成されるデータを前記被検査対象の回路
    ータとして提供するステップと、 前記被検査対象の回路データを構成する前記複数の処理
    単位データにそれぞれ含まれる前記要素データの数を検
    出するステップと、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数の処理単位データから複数の前記処
    理単位データを選択して前記選択された複数の処理単位
    データにより候補ブロックを生成するステップと、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行うステップと、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定するステップとを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行うステップは、前記被検査対象の回路デー
    タに含まれる全ての前記要素データの数を前記複数のデ
    ータブロックのそれぞれを割り当てるための全ての前記
    ボードの数で割った数に対応する平均搭載要素データ
    数、に基づいて設定される数を前記設定値とする パーテ
    ィショニング方法。
  2. 【請求項2】 請求項1記載のパーティショニング方法
    において、 前記データを前記被検査対象の回路データとして提供す
    るステップは、 入力時の前記処理単位データの候補に対応する処理単位
    候補データに含まれる前記要素データの数を検出するス
    テップと、 前記検出された前記処理単位候補データに含まれる要素
    データの数と、所定値との比較検討を行なうステップ
    と、 前記比較検討結果、前記処理単位候補データに含まれ
    る要素データの数が前 記所定値を超えているときに、前
    記処理単位候補データに含まれる要素データを分割し、
    前記分割の結果として前記処理単位データを生成し、前
    記比較検討の結果、前記処理単位候補データに含まれる
    要素データの数が前記所定値を超えていないときに、前
    記処理単位候補データをそのまま前記処理単位データと
    するステップとを備えたパーティショニング方法。
  3. 【請求項3】 請求項記載のパーティショニング方法
    において、 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較検討を行うステップは、前記被検査対象の回路
    データに含まれる全ての前記要素データの数を前記複数
    のデータブロックのそれぞれを割り当てるための全ての
    前記ボードの数で割った数に対応する平均搭載要素デー
    タ数、に基づいて設定される数を前記所定値とするパー
    ティショニング方法。
  4. 【請求項4】 請求項またはに記載のパーティショ
    ニング方法において、 前記比較検討を行なうステップは、前記被検査対象の回
    データの前記分割を行なうことができないと判断され
    たときに、前記所定値の値を自動的に更新するパーティ
    ショニング方法。
  5. 【請求項5】 請求項1からのいずれかに記載のパー
    ティショニング方法において、 前記比較を行うステップは、前記被検査対象の回路デー
    タの前記分割を行なうことができないと判断されたとき
    に、前記設定値の値を自動的に更新するパーティショニ
    ング方法。
  6. 【請求項6】 請求項1からのいずれかに記載のパー
    ティショニング方法において、 更に、 前記決定するステップの結果、前記候補ブロックを前記
    データブロックとしないと決定した場合に、前記検出結
    果に基づいて、前記被検査対象の回路データを構成する
    前記複数の処理単位データの中から、前記候補ブロック
    に含まれる前記複数の処理単位データのうちの少なくと
    も一の前記処理単位データに代わる前記処理単位データ
    を選択し、前記選択された前記処理単位データにより第
    2の候補ブロックを生成するステップを備え、 前記比較を行うステップは、前記生成された第2の候補
    ブロックに含まれる前記要素データの数と前記設定値と
    の比較を行い、 前記決定するステップは、前記比較結果、前記第2の
    候補ブロックに含まれる要素データの数が前記設定値以
    上であるときに、前記第2の候補ブロックを前記データ
    ブロックと決定するパーティショニング方法。
  7. 【請求項7】 請求項1からのいずれかに記載のパー
    ティショニング方法において、 更に、 前記決定するステップの結果、前記候補ブロックが前記
    データブロックとして決定されたときに、前記被検査対
    の回路データを構成する前記複数の処理単位データの
    うちの前記データブロックとして決定された前記候補ブ
    ロック以外の複数の前記処理単位データから複数の前記
    処理単位データを選択して前記選択された複数の処理単
    位データにより第3の候補ブロックを生成するステップ
    を備え、前記比較を行うステップは、前記生成された第
    3の候補ブロックに含まれる前記要素データの数と前記
    設定値との比較を行い、 前記決定するステップは、前記比較結果、前記第3の
    候補ブロックに含まれる要素データの数が前記設定値以
    上であるときに、前記第3の候補ブロックを前記データ
    ブロックと決定するパーティショニング方法。
  8. 【請求項8】 請求項1からのいずれかに記載のパー
    ティショニング方法において、更に、 前記生成された候補ブロックに含まれる前記要素データ
    の数と、前記ボードに割り当て可能な前記要素データの
    最大数を示す最大搭載要素データ数との対比を行うステ
    ップを備え、 前記決定するステップは、前記比較結果、前記要素デ
    ータの数が前記設定値以上であり、かつ前記対比
    、前記要素データの数が前記最大搭載要素データ数以
    下であるときに、前記候補ブロックを前記データブロッ
    クと決定するパーティショニング方法。
  9. 【請求項9】 請求項1からのいずれかに記載のパー
    ティショニング方法において、更に、 前記生成された候補ブロックにおける他の前記複数のデ
    ータブロックのそれぞれとの間の電気的接続を行うため
    の外部信号の数を検出するステップと、 前記検出された前記候補ブロックの前記外部信号の数
    と、前記ボードに接続可能な前記外部信号の最大数を示
    す最大ボード間信号数との対比を行うステップを備え、 前記決定するステップは、前記比較結果、前記要素デ
    ータの数が前記設定値以上であり、かつ前記対比
    、前記外部信号の数が前記最大ボード間信号数以下で
    あるときに、前記候補ブロックを前記データブロックと
    決定するパーティショニング方法。
  10. 【請求項10】 請求項記載のパーティショニング方
    法において、 更に、 前記対比の結果、前記検出された前記候補ブロックの前
    記外部信号の数が、前記最大ボード間信号数を超えてい
    ると判断した場合に、前記被検査対象の回路データを構
    成する前記複数の処理単位データの中から、前記候補ブ
    ロックに含まれる前記複数の処理単位データのうちの少
    なくとも一の前記処理単位データに代わる前記処理単位
    データを選択し、前記選択された前記処理単位データに
    より第4の候補ブロックを生成するステップを備え、 前記比較を行うステップは、前記生成された第4の候補
    ブロックに含まれる前記要素データの数と前記設定値と
    の比較を行い、 前記決定するステップは、前記比較結果、前記第4の
    候補ブロックに含まれる前記要素データの数が前記設定
    値以上であるときに、前記第4の候補ブロックを前記デ
    ータブロックと決定するパーティショニング方法。
  11. 【請求項11】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数のデータブロックを生
    成するパーティショニング方法であって、 少なくとも一つの要素データを備えた処理単位データを
    複数提供するステップと、 前記提供された複数の処理単位データを複数のグループ
    に分類して前記分類された結果としての前記複数の処理
    単位データを前記被検査対象の回路データとして提供す
    るステップと、 前記複数のグループのうちの第1のグループに帰属する
    前記複数の処理単位データにそれぞれ含まれる前記要素
    データの数を検出するステップと、 前記検出結果に基づいて、前記第1のグループに帰属す
    る前記複数の処理単位データから複数の前記処理単位デ
    ータを選択して前記選択された前記複数の処理単位デー
    タにより候補ブロックを生成するステップと、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行うステップと、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定するステップとを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行うステップは、前記被検査対象の回路デー
    タに含まれる全ての前記要素データの数を前記複数のデ
    ータブロックのそれぞれを割り当てるための全ての前記
    ボードの数で割った数に対応する平均搭載要素データ
    数、に基づいて設定される数を前記設定値とする パーテ
    ィショニング方法。
  12. 【請求項12】 請求項11記載のパーティショニング
    方法において、 更に、 前記決定するステップの結果、前記候補ブロックを前記
    データブロックとしないと決定した場合に、前記検出結
    果に基づいて、前記第1のグループに帰属する前記複数
    の処理単位データの中から、前記候補ブロックに含まれ
    る前記複数の処理単位データのうちの少なくとも一の前
    記処理単位データに代わる前記処理単位データを選択
    し、前記選択された前記処理単位データにより第2の候
    補ブロックを生成するステップを備え、 前記比較を行うステップは、前記生成された第2の候補
    ブロックに含まれる前記要素データの数と前記設定値と
    の比較を行い、 前記決定を行うステップは、前記比較結果、前記第2
    の候補ブロックに含まれる前記要素データの数が前記設
    定値以上であるときに、前記第2の候補ブロックを前記
    データブロックと決定するパーティショニング方法。
  13. 【請求項13】 請求項11または12に記載のパーテ
    ィショニング方法において、 更に、 前記決定するステップの結果、前記候補ブロックを前記
    データブロックとしないと決定した場合に、前記第1の
    グループに帰属する前記複数の処理単位データを用いて
    前記候補ブロックに代わる第2の候補ブロックを生成で
    きないときに、前記第1のグループに帰属する前記複数
    の処理単位データの少なくとも一部の処理単位データを
    前記複数のグループのうちの第2のグループに帰属させ
    るステップを備えたパーティショニング方法。
  14. 【請求項14】 請求項11から13のいずれかに記載
    のパーティショニング方法において、更に、 前記生成された候補ブロックに含まれる前記要素データ
    の数と、前記ボードに割り当て可能な前記要素データの
    最大数を示す最大搭載要素データ数との対比を行うステ
    ップと、 前記対比の結果、前記候補ブロックに含まれる前記要素
    データの数が前記最大搭載要素データ数を超えていると
    判断した場合には、前記候補ブロックに含まれる前記複
    数の処理単位データのうちの少なくとも一の前記処理単
    位データを、前記複数のグループのうちの第2のグルー
    プに帰属させるステップを備えたパーティショニング方
    法。
  15. 【請求項15】 請求項11から13のいずれかに記載
    のパーティショニング方法において、更に、 前記生成された候補ブロックにおける他の前記複数のデ
    ータブロックのそれぞれとの間の電気的接続を行うため
    の外部信号の数を検出するステップと、 前記検出された前記候補ブロックの前記外部信号の数
    と、前記ボードに接続可能な前記外部信号の最大数を示
    す最大ボード間信号数との対比を行うステップと、 前記対比の結果、前記検出された前記候補ブロックの前
    記外部信号の数が、前記最大ボード間信号数を超えてい
    ると判断した場合に、前記第1のグループに帰属する前
    記複数の処理単位データを用いて前記候補ブロックに代
    わる第2の候補ブロックを生成できないときに、前記候
    補ブロックの少なくとも一の前記処理単位データを、前
    記複数のグループのうちの第2のグループに帰属させる
    ステップを備えたパーティショニング方法。
  16. 【請求項16】 請求項13から15のいずれかに記載
    のパーティショニング方法において、 前記複数のグループは、階層を形成し、 前記第2のグループに帰属させるステップは、前記第2
    のグループとして、前記第1のグループよりも前記階層
    において上位にあるグループを選択するパーティショニ
    ング方法。
  17. 【請求項17】 請求項16記載のパーティショニング
    方法において、 更に、 前記第1のグループが前記階層において最上位にあるか
    否かを判断するステップと、 前記判断の結果、前記第1のグループが前記最上位にあ
    ると判断された場合には、前記第2のグループに帰属さ
    せるステップに代えて、前記被検査対象の回路データの
    前記分割を行うことができない旨を報知するステップを
    備えたパーティショニング方法。
  18. 【請求項18】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数のデータブロックを生
    成した後に、前記被検査対象の回路データのエミュレー
    ションを行うエミュレーション方法であって、 少なくとも一つの要素データを備えた処理単位データを
    複数備えて構成されるデータを前記被検査対象の回路
    ータとして提供するステップと、 前記被検査対象の回路データを構成する前記複数の処理
    単位データにそれぞれ含まれる前記要素データの数を検
    出するステップと、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数の処理単位データから複数の前記処
    理単位データを選択して前記選択された複数の処理単位
    データにより候補ブロックを生成するステップと、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行うステップと、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定するステップと、 複数の前記決定された前記データブロックのそれぞれに
    並行してデータ処理を行うステップとを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行うステップは、前記被検査対象の回路デー
    タに含まれる全ての前記要素データの数を前記複数のデ
    ータブロックのそれぞれを割り当てるための全ての前記
    ボードの数で割った数に対応する平均搭載要素データ
    数、に基づいて設定される数を前記設定値とする エミュ
    レーション方法。
  19. 【請求項19】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数の回路ブロックを生成
    するパーティショニング方法であって、 少なくとも一つのゲートを備えたモジュールを複数備え
    て構成される回路データを前記被検査対象の回路データ
    として提供するステップと、 前記被検査対象の回路データを構成する前記複数のモジ
    ュールにそれぞれ含まれる前記ゲートの数を検出するス
    テップと、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数のモジュールから複数の前記モジュ
    ールを選択して前記選択された複数のモジュールにより
    新モジュールを生成するステップと、 前記生成された新モジュールに含まれる前記ゲートの数
    と搭載基準ゲート数との比較を行うステップと、 前記比較の結果、前記ゲートの数が前記搭載基準ゲート
    数以上であるときに、前記新モジュールを前記回路ブロ
    ックと決定するステップとを備え、 前記分割の結果としての複数の回路ブロックのそれぞれ
    は、エミュレーションボードに割り当てられ、 前記比較を行うステップは、前記被検査対象の回路デー
    タに含まれる全ての前記ゲートの数を前記複数の回路ブ
    ロックのそれぞれを割り当てるための全ての前記エミュ
    レーションボードの数で割った数に対応する平均搭載ゲ
    ート数以上の数を、前記搭載基準ゲート数とするパーテ
    ィショニング方法。
  20. 【請求項20】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数のデータブロックを生
    成するパーティショニング装置であって、 少なくとも一つの要素データを備えた処理単位データを
    複数備えて構成されるデータを前記被検査対象の回路
    ータとして提供する手段と、 前記被検査対象の回路データを構成する前記複数の処理
    単位データにそれぞれ含まれる前記要素データの数を検
    出する手段と、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数の処理単位データから複数の前記処
    理単位データを選択して前記選択された複数の処理単位
    データにより候補ブロックを生成する手段と、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行う手段と、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定する手段とを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行う手段は、前記被検査対象の回路データに
    含まれる全ての前記要素データの数を前記複数のデータ
    ブロックのそれぞれを割り当てるための全ての前記ボー
    ドの数で割った数に対応する平均搭載要素データ数、に
    基づいて設定される数を前記設定値とする パーティショ
    ニング装置。
  21. 【請求項21】 請求項20記載のパーティショニング
    装置において、 前記データを前記被検査対象の回路データとして提供す
    る手段は、入力時の前記処理単位データの候補に対応す
    る処理単位候補データに含まれる前記要素データの数を
    検出する手段と、 前記検出された前記処理単位候補データに含まれる要素
    データの数と、所定値との比較検討を行なう手段と、 前記比較検討結果、前記処理単位候補データに含まれ
    る要素データの数が前記所定値を超えているときに、前
    記処理単位候補データに含まれる要素データを分割し、
    前記分割の結果として前記処理単位データを生成し、前
    記比較検討の結果、前記処理単位候補データに含まれる
    要素データの数が前記所定値を超えていないときに、前
    記処理単位候補データをそのまま前記処理単位データと
    する手段とを備えたパーティショニング装置。
  22. 【請求項22】 請求項21記載のパーティショニング
    装置において、 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較検討を行う手段は、前記被検査対象の回路デー
    タに含まれる全ての前記要素データの数を前記複数のデ
    ータブロックのそれぞれを割り当てるための全ての前記
    ボードの数で割った数に対応する平均搭載要素データ
    数、に基づいて設定される数を前記所定値とするパーテ
    ィショニング装置。
  23. 【請求項23】 請求項21または22に記載のパーテ
    ィショニング装置において、 前記比較検討を行なう手段は、前記被検査対象の回路
    ータの前記分割を行なうことができないと判断されたと
    きに、前記所定値の値を自動的に更新するパーティショ
    ニング装置。
  24. 【請求項24】 請求項20から23のいずれかに記載
    のパーティショニング装置において、 前記比較を行う手段は、前記被検査対象の回路データの
    前記分割を行なうことができないと判断されたときに、
    前記設定値の値を自動的に更新するパーティショニング
    装置。
  25. 【請求項25】 請求項20から24のいずれかに記載
    のパーティショニング装置において、 更に、 前記決定する手段の結果、前記候補ブロックを前記デー
    タブロックとしないと決定した場合に、前記検出結果に
    基づいて、前記被検査対象の回路データを構成する前記
    複数の処理単位データの中から、前記候補ブロックに含
    まれる前記複数の処理単位データのうちの少なくとも一
    の前記処理単位データに代わる前記処理単位データを選
    択し、前記選択された前記処理単位データにより第2の
    候補ブロックを生成する手段を備え、 前記比較を行う手段は、前記生成された第2の候補ブロ
    ックに含まれる前記要素データの数と前記設定値との比
    較を行い、 前記決定する手段は、前記比較結果、前記第2の候補
    ブロックに含まれる要 素データの数が前記設定値以上で
    あるときに、前記第2の候補ブロックを前記データブロ
    ックと決定するパーティショニング装置。
  26. 【請求項26】 請求項20から25のいずれかに記載
    のパーティショニング装置において、 更に、 前記決定する手段の結果、前記候補ブロックが前記デー
    タブロックとして決定されたときに、前記被検査対象
    回路データを構成する前記複数の処理単位データのうち
    の前記データブロックとして決定された前記候補ブロッ
    ク以外の複数の前記処理単位データから複数の前記処理
    単位データを選択して前記選択された複数の処理単位デ
    ータにより第3の候補ブロックを生成する手段を備え、 前記比較を行う手段は、前記生成された第3の候補ブロ
    ックに含まれる前記要素データの数と前記設定値との比
    較を行い、 前記決定する手段は、前記比較結果、前記第3の候補
    ブロックに含まれる要素データの数が前記設定値以上で
    あるときに、前記第3の候補ブロックを前記データブロ
    ックと決定するパーティショニング装置。
  27. 【請求項27】 請求項20から26のいずれかに記載
    のパーティショニング装置において、更に、 前記生成された候補ブロックに含まれる前記要素データ
    の数と、前記ボードに割り当て可能な前記要素データの
    最大数を示す最大搭載要素データ数との対比を行う手段
    を備え、 前記決定する手段は、前記比較結果、前記要素データ
    の数が前記設定値以上であり、かつ前記対比結果、前
    記要素データの数が前記最大搭載要素データ数以下であ
    るときに、前記候補ブロックを前記データブロックと決
    定するパーティショニング装置。
  28. 【請求項28】 請求項20から26のいずれかに記載
    のパーティショニング装置において、更に、 前記生成された候補ブロックにおける他の前記複数のデ
    ータブロックのそれぞれとの間の電気的接続を行うため
    の外部信号の数を検出する手段と、 前記検出された前記候補ブロックの前記外部信号の数
    と、前記ボードに接続可能な前記外部信号の最大数を示
    す最大ボード間信号数との対比を行う手段を備え、 前記決定する手段は、前記比較結果、前記要素データ
    の数が前記設定値以上であり、かつ前記対比結果、前
    記外部信号の数が前記最大ボード間信号数以下であると
    きに、前記候補ブロックを前記データブロックと決定す
    パーティショニング装置。
  29. 【請求項29】 請求項28記載のパーティショニング
    装置において、 更に、 前記対比の結果、前記検出された前記候補ブロックの前
    記外部信号の数が、前記最大ボード間信号数を超えてい
    ると判断した場合に、前記被検査対象の回路データを構
    成する前記複数の処理単位データの中から、前記候補ブ
    ロックに含まれる前記複数の処理単位データのうちの少
    なくとも一の前記処理単位データに代わる前記処理単位
    データを選択し、前記選択された前記処理単位データに
    より第4の候補ブロックを生成する手段を備え、 前記比較を行う手段は、前記生成された第4の候補ブロ
    ックに含まれる前記要素データの数と前記設定値との比
    較を行い、 前記決定する手段は、前記比較結果、前記第4の候補
    ブロックに含まれる前記要素データの数が前記設定値以
    上であるときに、前記第4の候補ブロックを前記データ
    ブロックと決定するパーティショニング装置。
  30. 【請求項30】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数のデータブロックを生
    成するパーティショニング装置であって、 少なくとも一つの要素データを備えた処理単位データを
    複数提供する手段と、 前記提供された複数の処理単位データを複数のグループ
    に分類して前記分類された結果としての前記複数の処理
    単位データを前記被検査対象の回路データとして提供す
    る手段と、 前記複数のグループのうちの第1のグループに帰属する
    前記複数の処理単位データにそれぞれ含まれる前記要素
    データの数を検出する手段と、 前記検出結果に基づいて、前記第1のグループに帰属す
    る前記複数の処理単位データから複数の前記処理単位デ
    ータを選択して前記選択された前記複数の処理単位デー
    タにより候補ブロックを生成する手段と、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行う手段と、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定する手段とを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行う手段は、前記被検査対象の回路データに
    含まれる全ての前記要素データの数を前記複数のデータ
    ブロックのそれぞれを割り当てるための全ての前記ボー
    ドの数で割った数に対応する平均搭載要素データ数、に
    基づいて設定される数を前記設定値とする パーティショ
    ニング装置。
  31. 【請求項31】 請求項30記載のパーティショニング
    装置において、 更に、 前記決定する手段の結果、前記候補ブロックを前記デー
    タブロックとしないと決定した場合に、前記検出結果に
    基づいて、前記第1のグループに帰属する前記複数の処
    理単位データの中から、前記候補ブロックに含まれる前
    記複数の処理単位データのうちの少なくとも一の前記処
    理単位データに代わる前記処理単位データを選択し、前
    記選択された前記処理単位データにより第2の候補ブロ
    ックを生成する手段を備え、 前記比較を行う手段は、前記生成された第2の候補ブロ
    ックに含まれる前記要素データの数と前記設定値との比
    較を行い、 前記決定を行う手段は、前記比較結果、前記第2の候
    補ブロックに含まれる前記要素データの数が前記設定値
    以上であるときに、前記第2の候補ブロックを前記デー
    タブロックと決定するパーティショニング装置。
  32. 【請求項32】 請求項30または31に記載のパーテ
    ィショニング装置において、 更に、 前記決定する手段の結果、前記候補ブロックを前記デー
    タブロックとしないと決定した場合に、前記第1のグル
    ープに帰属する前記複数の処理単位データを用いて前記
    候補ブロックに代わる第2の候補ブロックを生成できな
    いときに、前記第1のグループに帰属する前記複数の処
    理単位データの少なくとも一部の処理単位データを前記
    複数のグループのうちの第2のグループに帰属させる手
    段を備えたパーティショニング装置。
  33. 【請求項33】 請求項30から32のいずれかに記載
    のパーティショニング装置において、更に、 前記生成された候補ブロックに含まれる前記要素データ
    の数と、前記ボードに割り当て可能な前記要素データの
    最大数を示す最大搭載要素データ数との対比を行う手段
    と、 前記対比の結果、前記候補ブロックに含まれる前記要素
    データの数が前記最大搭載要素データ数を超えていると
    判断した場合には、前記候補ブロックに含まれる前記複
    数の処理単位データのうちの少なくとも一の前記処理単
    位データを、前記複数のグループのうちの第2のグルー
    プに帰属させる手段を備えたパーティショニング装置。
  34. 【請求項34】 請求項30から32のいずれかに記載
    のパーティショニング装置において、更に、 前記生成された候補ブロックにおける他の前記複数のデ
    ータブロックのそれぞれとの間の電気的接続を行うため
    の外部信号の数を検出する手段と、 前記検出された前記候補ブロックの前記外部信号の数
    と、前記ボードに接続可能な前記外部信号の最大数を示
    す最大ボード間信号数との対比を行う手段と、 前記対比の結果、前記検出された前記候補ブロックの前
    記外部信号の数が、前記最大ボード間信号数を超えてい
    ると判断した場合に、前記第1のグループに帰属する前
    記複数の処理単位データを用いて前記候補ブロックに代
    わる第2の候補ブロックを生成できないときに、前記候
    補ブロックの少なくとも一の前記処理単位データを、前
    記複数のグループのうちの第2のグループに帰属させる
    手段を備えたパーティショニング装置。
  35. 【請求項35】 請求項32から34のいずれかに記載
    のパーティショニング装置において、 前記複数のグループは、階層を形成し、 前記第2のグループに帰属させる手段は、前記第2のグ
    ループとして、前記第1のグループよりも前記階層にお
    いて上位にあるグループを選択するパーティショニング
    装置。
  36. 【請求項36】 請求項35記載のパーティショニング
    装置において、 更に、 前記第1のグループが前記階層において最上位にあるか
    否かを判断する手段と、 前記判断の結果、前記第1のグループが前記最上位にあ
    ると判断された場合には、前記第2のグループに帰属さ
    せる手段に代えて、前記被検査対象の回路データの前記
    分割を行うことができない旨を報知する手段を備えたパ
    ーティショニング装置。
  37. 【請求項37】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数のデータブロックを生
    成した後に、前記被検査対象の回路データのエミュレー
    ションを行うエミュレーション装置であって、 少なくとも一つの要素データを備えた処理単位データを
    複数備えて構成されるデータを前記被検査対象の回路
    ータとして提供する手段と、 前記被検査対象の回路データを構成する前記複数の処理
    単位データにそれぞれ含まれる前記要素データの数を検
    出する手段と、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数の処理単位データから複数の前記処
    理単位データを選択して前記選択された複数の処理単位
    データにより候補ブロックを生成する手段と、 前記生成された候補ブロックに含まれる前記要素データ
    の数と設定値との比較を行う手段と、 前記比較結果、前記要素データの数が前記設定値以上
    であるときに、前記候補ブロックを前記データブロック
    決定する手段と、 複数の前記決定された前記データブロックのそれぞれに
    並行してデータ処理を行う手段とを備え 前記分割の結果としての複数のデータブロックのそれぞ
    れは、ボードに割り当てられ、 前記比較を行う手段は、前記被検査対象の回路データに
    含まれる全ての前記要素データの数を前記複数のデータ
    ブロックのそれぞれを割り当てるための全ての前記ボー
    ドの数で割った数に対応する平均搭載要素データ数、に
    基づいて設定される数を前記設定値とする エミュレーシ
    ョン装置。
  38. 【請求項38】 被検査対象の回路データを複数に分割
    して前記分割の結果としての複数の回路ブロックを生成
    するパーティショニング装置であって、 少なくとも一つのゲートを備えたモジュールを複数備え
    て構成される回路データを前記被検査対象の回路データ
    として提供する手段と、 前記被検査対象の回路データを構成する前記複数のモジ
    ュールにそれぞれ含まれる前記ゲートの数を検出する手
    段と、 前記検出結果に基づいて、前記被検査対象の回路データ
    を構成する前記複数のモジュールから複数の前記モジュ
    ールを選択して前記選択された複数のモジュールにより
    新モジュールを生成する手段と、 前記生成された新モジュールに含まれる前記ゲートの数
    と搭載基準ゲート数と の比較を行う手段と、 前記比較の結果、前記ゲートの数が前記搭載基準ゲート
    数以上であるときに、前記新モジュールを前記回路ブロ
    ックと決定する手段とを備え、 前記分割の結果としての複数の回路ブロックのそれぞれ
    は、エミュレーションボードに割り当てられ、 前記比較を行う手段は、前記被検査対象の回路データに
    含まれる全ての前記ゲートの数を前記複数の回路ブロッ
    クのそれぞれを割り当てるための全ての前記エミュレー
    ションボードの数で割った数に対応する平均搭載ゲート
    数以上の数を、前記搭載基準ゲート数とするパーティシ
    ョニング装置。
JP01237699A 1999-01-20 1999-01-20 パーティショニング方法および装置、ならびにエミュレーション方法および装置 Expired - Fee Related JP3196931B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01237699A JP3196931B2 (ja) 1999-01-20 1999-01-20 パーティショニング方法および装置、ならびにエミュレーション方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01237699A JP3196931B2 (ja) 1999-01-20 1999-01-20 パーティショニング方法および装置、ならびにエミュレーション方法および装置

Publications (2)

Publication Number Publication Date
JP2000207445A JP2000207445A (ja) 2000-07-28
JP3196931B2 true JP3196931B2 (ja) 2001-08-06

Family

ID=11803565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01237699A Expired - Fee Related JP3196931B2 (ja) 1999-01-20 1999-01-20 パーティショニング方法および装置、ならびにエミュレーション方法および装置

Country Status (1)

Country Link
JP (1) JP3196931B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4568599B2 (ja) * 2004-12-24 2010-10-27 富士通株式会社 論理回路分割方法及び装置
JP6365273B2 (ja) 2014-12-01 2018-08-01 富士通株式会社 テストパターン生成方法、テストパターン生成プログラム、およびテストパターン生成装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Behrens,D.、外2名、"Hierarchical partitioning"、Computer−Aided Design,1996.ICCAD−96. Digest of Technical Papers.,1996 IEEE/ACM International Conference on 、平成8年、p.470〜477
Ober,U、外2名、"Hierarchical partitioning in a rapid prototyping environment"、Rapid System Prototyping,1996,Proceedings.,Seventh IEEE International Workshop on、平成8年、p.30〜35
Riess,B.M.、"Architecture driven k−way partitioning for multichip modules"、European Design and Test Conference,1995.ED&TC 1995,Proceedings.、平成7年、p.71〜76
Sanchis,L.A.、"Multiple−way network partitioning"、Computers,IEEE Transactions on Volume: 38 1、平成元年、p.62〜81
Vi Chi Chan、外1名、"Hierarchical partitioning for field−programmable systems"、Computer−Aided Design,1997.Digest of Technical Papers.,1997 IEEE/ACM International Conference on、平成9年、p.428〜435

Also Published As

Publication number Publication date
JP2000207445A (ja) 2000-07-28

Similar Documents

Publication Publication Date Title
US6272668B1 (en) Method for cell swapping to improve pre-layout to post-layout timing
US6026228A (en) Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus
US5666289A (en) Flexible design system
US6735742B2 (en) Method for optimizing a cell layout using parameterizable cells and cell configuration data
US6968514B2 (en) Block based design methodology with programmable components
US6574778B2 (en) Block based design methodology
US5367469A (en) Predictive capacitance layout method for integrated circuits
JP3891599B2 (ja) 集積回路レイアウト内への標準セルの自動挿入装置
US5598344A (en) Method and system for creating, validating, and scaling structural description of electronic device
US5231589A (en) Input/output pin assignment method
US6066178A (en) Automated design method and system for synthesizing digital multipliers
WO2007032767A2 (en) Extensible internal representation of systems with parallel and sequential implementations
US6560571B1 (en) Method and apparatus for prioritizing the order in which checks are performed on a node in an integrated circuit
US6941532B2 (en) Clock skew verification methodology for grid-based design
JP3196931B2 (ja) パーティショニング方法および装置、ならびにエミュレーション方法および装置
US20040049753A1 (en) System for estimating performance of integrated circuit in register transfer level
US8813018B1 (en) Method and apparatus for automatically configuring memory size
US6260184B1 (en) Design of an integrated circuit by selectively reducing or maintaining power lines of the device
Behjat et al. Integer linear programming models for global routing
JP3193167B2 (ja) 論理合成システム
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
US7594212B1 (en) Automatic pin placement for integrated circuits to aid circuit board design
US6983443B2 (en) System and method for placing clock drivers in a standard cell block
JP4855283B2 (ja) 半導体集積回路の設計装置
US20030074175A1 (en) Simulation by parts method for grid-based clock distribution design

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

LAPS Cancellation because of no payment of annual fees