(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本実施例に係るモデル作成方法を説明するための図である。
図1に示すLSIを構成する複数のモジュールにおけるモデル化の対象モジュール2を例として、本実施例に係るモデル作成方法を説明する。
【0014】
本実施例に係るモデル作成方法では、モデル化の対象モジュール2の入力ポート3及び出力ポート4の各々から初段のレジスタまでの遅延をバッファ5b及び7bで再現し、ポート3及び4の各々と1対1で対応するようにI/Fレジスタ5r及び7rを挿入する。
【0015】
I/Fレジスタ5rとバッファ5bとを引き付け配置5とすることで、レイアウトにより配置が離れバッファ5bの遅延が変化することを防ぐ。同様に、I/Fレジスタ7rとバッファ7bとを引き付け配置7とすることで、レイアウトにより配置が離れバッファ7bの遅延が変化することを防ぐ。
【0016】
I/Fレジスタ5rとI/Fレジスタ7rとの間の論理部分に相当するI/Fレジスタ間論理6におけるレジスタ6rを、全て同じピン数を持つ特定の組合せセルに置換える。秘匿性を上げるため、レジスタ6rへのクロックパス又はリセットパスは切断し、レジスタ6rのデータ入出力やイネーブル信号などを置き換える組合せセルの入出力に繋ぎ直す。この処理によって、配線性を残すことが可能となる。
【0017】
組合せセルに置き換えられたI/Fレジスタ間論理6の駆動能力を調整することによって、オリジナルネットのエリアに合わせ込む。
【0018】
上述したモデル作成方法で対象モジュール2をモデル化することによって、秘匿性を維持しながら精度の高い配置及び配線性を考慮可能なタイミング解析を行なうことができる。従って、手戻りが削減されることにより、顧客へのLSI設計に係るデータファイルの提供回数を削減することができる。
【0019】
このようなモデル作成方法をレイアウトモデル作成装置は、
図2に示されるようなハードウェア構成を有する。
図2は、レイアウトモデル作成装置のハードウェア構成を示す図である。
図2において、レイアウトモデル作成装置100は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インターフェース)17と、ドライブ装置18とを有し、バスBに接続される。
【0020】
CPU11は、主記憶装置12に格納されたプログラムに従ってレイアウトモデル作成装置100を制御する。主記憶装置12には、RAM(Random Access Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
【0021】
補助記憶装置13には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12及び/又は補助記憶装置13を有する。
【0022】
入力装置14は、マウス、キーボード等を有し、ユーザがレイアウトモデル作成装置による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。出力装置16は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F17は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。
【0023】
レイアウトモデル作成装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によってレイアウトモデル作成装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ装置18にセットされると、ドライブ装置18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【0024】
図3は、レイアウトモデル作成装置100に係る全体構成を説明するための図である。
図3において、レイアウトモデル作成装置100は、LSIに実装される機能ブロックを開発する開発元に導入される装置であり、顧客システム200は、開発元で開発されモデル化することによって秘匿化された少なくとも一つ以上の機能ブロックを含むLSI設計に係る設計データに基づいて、顧客側でレイアウトプロトタイピング400を行うためのコンピュータ装置を含む開発環境に相当する。
【0025】
レイアウトモデル作成装置100は、本実施例に係る処理部として、モデル作成部200を有する。また、レイアウトモデル作成装置100は、記憶部130に、モデル作成処理を行う前の変更前ネットリスト31、タイミング制約データを含むSDC(Synopsys Design Constraints)32、LSIを構成するセルのライブラリ33、モデル作成処理を行った後の変更後ネットリスト34、レジスタ間遅延制約データ35、引き付けは位置制約データ36等のデータを格納する。
【0026】
モデル作成部200は、設計したLSIを構成する複数のモジュール(複数の機能ブロック)のうち、社外秘のモジュールに対しても、配置及び配線性を考慮可能なように、モデル化する処理部である。モデル作成部200の構成は、
図4で説明される。
【0027】
変更前ネットリスト31は、モデル作成部200によるモデル作成処理が行われる前の、セル間の接続情報を示す。SDC32は、タイミング制約を定義したデータファイルである。ライブラリ33は、セル毎の論理機能、電気特性、及び駆動能力等のデータを含むライブラリである。
【0028】
変更後ネットリスト34は、モデル作成部200によるモデル作成処理によって変更前ネットリスト31が変更されたネットリストである。
【0029】
レジスタ間遅延制約データ35は、I/Fレジスタ間論理6(
図1)における遅延制約を示し、顧客システム300において、SDC32に追加されるデータである。
【0030】
引き付け配置制約データ36は、顧客側でのレイアウトプロとタイピングによる配置変更によって遅延が変更されないように、I/F遅延モデルのバッファ及びレジスタの引き付け配置を定義したデータである。引き付け配置制約データ36によって、配置変更の制約が定義される。
【0031】
顧客システム300は、レイアウトモデル作成装置100でのモデル作成処理後に得られた変更後ネットリスト34と、SDC32と、ライブラリ33と、レジスタ間遅延制約データ35と、引き付け配置制約データ36とを用いて、レイアウトプロトタイピング400を行う。
【0032】
顧客システム300では、レジスタ間支援制約データ35をSDC32に追加し、引き付け配置制約データ36をフロアプラン設定値53に追加する。変更後ネットリスト34は、開発元から提供された状態で使用する。
【0033】
図4は、モデル作成部の機能構成例を示す図である。
図4において、モデル作成部200は、遅延モデル作成部21と、配線モデル作成部22と、エリア調整部23と、秘匿処理部24とを有する。
【0034】
遅延モデル作成部21は、変更前ネットリスト31とSDC32とを参照して、モデル化するモジュールの入出力ポートから初段のI/Fレジスタまでの遅延をバッファで再現し、ポートと1対1でレジスタを挿入する処理部である。
【0035】
配線モデル作成部22は、ライブラリ33を参照して、I/Fレジスタ間の論理は全て同じピン数をもつ特定の組み合せセルに置き換える処理部である。配線モデル作成部22では、秘匿性を上げるため、レジスタへのクロックパスとリセットパスとを切断し、レジスタのデータ入出力やイネーブル信号などを置き換える組み合せセルの入出力に繋ぎ直す。
【0036】
エリア調整部23は、ライブラリ33を参照して、配線モデル作成部22が作成したI/Fレジスタ間の論理の駆動能力を、オリジナルのゲート数に相当するように調整することによって、エリアを合わせ込む処理部である。
【0037】
秘匿処理部24は、モジュール、インスタンス、ネットの名称を無意味な文字列に変換する処理部である。
【0038】
図5は、本実施例における遅延及び配線性の再現について説明するための図である。
図5において、最上位モジュール1は、LSI全体又はLSIを構成する機能ブロックの1つに相当する。対象モジュール2は、最上位モジュール1内に含まれる複数のモジュールのうち、秘匿性の高いモジュールとして選択されたモジュールである。
【0039】
このモジュール例では、モデル作成部200における遅延モデル作成部21によって、入力ポートから初段のI/Fレジスタ5rまでの遅延を4個のバッファ5bで再現し、出力ポートから初段のI/Fレジスタ7rまでの遅延を2個のバッファ7bで再現している。
【0040】
遅延モデル作成部21は、各ポートに対して1対1の関係でレジスタを挿入し、その際、レジスタがある場合はクローニングする。レジスタのクロックはオリジナルのものを使用する。更に、I/Fレジスタ5rとバッファ5bとは引き付けて配置する。同様に、I/Fレジスタ7rとバッファ7bとは引き付けて配置する。この処理により、I/F遅延が再現される。遅延モデル作成部21によって、引き付け配置制約データ36が生成され記憶部130に格納される。
【0041】
モデル作成部200における配線モデル作成部22によって、I/Fレジスタ5rとI/Fレジスタ7rtの間の論理は、同じピン構成の他の組み合わせセルに置き換えられる。また、配線モデル作成部22は、既存のレジスタのクロックパスとリセットパスとを削除して、データパスのみを組み合わせセルで置き換える。そして、配線モデル作成部22は、I/Fレジスタ5rとI/Fレジスタ7r間のパスには実際にかかる周期分の遅延制約を与える。遅延を考慮させることで、過度な配置及び配線の悪化を防止することができ、配線性を再現しつつファンクションを隠すことができる。配線モデル作成部22によって、レジスタ間遅延制約データ35が生成され記憶部130に格納される。
【0042】
遅延モデル作成部21及び配線モデル作成部22によって、モデル化された対象モジュール2内のセルは、サイズ変更以外は、レイアウトで変更なし(don't touch)の属性にする。
【0043】
更に、エリア調整部23によるサイズ変更によりオリジナルのサイズに会わせ込み、また、秘匿処理部24による名称の無意味な文字列への変換等を行うことにより、秘匿性を高めることができる。
【0044】
遅延モデル作成部21による遅延モデル作成処理の一例について
図6で詳述する。
図6は、遅延モデル作成処理の一例を説明するための図である。
図6に例示する対象モジュール2−1は、ポートA、B、及びCの3個の入出力ポートとクロックCLK端子を有する場合を示している。
【0045】
対象モジュール2−1において、入力ポートAから出力ポートBへのパス上には、入力ポートA、組合せ論理51、レジスタ52、組合せ論理53、レジスタ54、組合せ論理55、レジスタ56、組合せ論理57、I/Fレジスタ58、組合せ論理59、出力ポートBが存在する。
【0046】
また、入力ポートAから出力ポートCへのパス上には、入力ポートA、組合せ論理51、レジスタ52、組合せ論理53、レジスタ54、組合せ論理60、レジスタ61、組合せ論理62,出力ポートCが存在する。
【0047】
モデル作成部200における配線モデル作成部22によって、組合せ論理51が2個のバッファ51bに置き換えられ、組合せ論理59が3個のバッファ59bに置き換えられ、組合せ論理62が4個のバッファ62bに置き換えられる。組合せ論理51、組合せ論理59、及び組合せ論理62が夫々最大遅延分のバッファに置き換えられる。
【0048】
次に、配線モデル作成部22による配線モデル作成処理の一例について
図7で詳述する。
図7は、配線モデル作成処理の一例を説明するための図である。
図7において、配線モデル作成部22は、内部レジスタのクロックパスやリセットパスを削除し、データパスだけを組合せセルに置き換える。クロックパス又はリセットパスとなるパス54d、56d、及び60dが削除される。
【0049】
また、内部レジスタ置換用の組合せセル54n、56n、及び60nによって、I/Fレジスタ52とI/Fレジスタ58又は61との間のレジスタ54、56等が置換えられる。更に、既存のセル55及び60は、同じピン構成の特定の組合せセル55s及び60sに置換えられる。
【0050】
既存のセル55を特定の組合せセル55sへの置換え例を
図8で説明する。
図8は、特定の組合せセルへの置換え例を示す図である。
図8において、既存のセル55が、3つの入力に対してAND演算結果を出力するAND回路と、4つの入力に対してAND演算結果を出力するAND回路と、これら2つの出力を入力してOR演算結果を出力するOR回路とによる組合せセルである場合に、3つの入力に対してNAND演算結果を出力するNAND回路と、4つの入力に対してNAND演算結果を出力するNAND回路と、これら2つの出力を入力してNAND演算結果を出力するNAND回路とによる特定の組合せセル55sに置き換えられる。このように、既存のセル55と置き換える特定の組合せセル55sは、既存のセル55と同じピン構成のセルである。
【0051】
図9は、配線モデル作成部によるレジスタ間の遅延制約データの作成例を説明するための図である。
図9において、
図7のI/Fレジスタ52、58、及び61は、reg1、reg2、及びreg3として説明される。
【0052】
配線モデル作成部22は、reg1から組合せセル54nまでの周期T1、組合せセル54nから組合せセル56nまでの周期T2、及び、組合せセル56nからreg2までの周期T3を夫々算出して、reg1からreg2までのレジスタ間の最大遅延制約を算出する。
【0053】
更に、組合せセル54nから組合せセル56nまでの周期T4、及び、組合せセル56nからreg2までの周期T5を夫々算出して、reg1からreg3までのレジスタ間の最大遅延制約を算出する。
【0054】
reg1−>reg2:最大遅延制約=T1+T2+T3
reg1−>reg3:最大遅延制約=T1+T4+T5
レジスタ間の遅延制約がないと、レイアウトツールはセルの配置が遠く離れたり、配線が迂回したとしても問題ないと判断してしまう。遅延制約を設けることによりレイアウトツールは妥当な配置及び配線を行うことができる。
【0055】
更に、上述に加えて、レジスタ間のタイミングマージンに偏りがある場合に限り、遅延制約を区切るようにしても良い。
図10は、遅延制約を区切る一例を示す図である。
図10において、reg1からcomb1間のタイミングマージンが大きく、その他の区間でタイミングマージンが小さい場合、reg1からreg2間の最大遅延制約を周期T1、T2、及びT3の合計とすると、reg1からcomb1間のマージンが他の区間で使用されてしまい、その結果、配置が変更されてしまう場合がある。
【0056】
comb1の出力側にcomb1バッファ63bを挿入しておくことで、遅延制約を以下のように設定することができる。
【0057】
reg1からcomb1バッファ間:T1
comb1バッファからreg2間:T2+T3
バッファを挿入して遅延制約を区切ることによって、reg1からcomb1間のマージンが他の区間で使用されることによる配置の変更を抑制することができる。
【0058】
次に、エリア調整部23によるエリア調整処理について
図11で説明する。
図11は、エリア調整の一例を説明するための図である。
図11では、対象モジュール2−1のモデルのエリアが、オリジナルのエリアより小さい場合、特定の組合せセル60sのうち、駆動能力の高いセルに変更する。この例では、駆動能力「1」に対して駆動能力「8」に変更される。
【0059】
駆動能力の変更方法例について
図12で説明する。
図12において、ライブラリ33を参照することによって、駆動能力の大きさを含むセル名と、セルのエリアの大きさとを対応付けたリスト33−2を作成しておく。リスト33−2は、使用可能なテクノロジのセルの一覧に相当する。
【0060】
ライブラリ33内に、
cell(NANDx2)
・・・
area 10;
・・・
cell(NANDx4)
・・・
area 20;
が存在した場合、
NANDx2,10
NANDx4,20
を含むリストが作成される。セル名称は、論理回路の種別と駆動能力とを示す形式とすればよい。
【0061】
対象モジュール2−1のネットリストが、NET(Model)で識別され、NET(Model)内のエリアの合計が、オリジナルのエリア「110」に対して「100」と小さい場合、NET(Model)内の
NANDx2 XXX( )
の記述部分のセル名称を、リストを参照することによって得られる駆動能力の高いセル「NANDx4」に書き換えて、
NANDx4 XXX( )
とする。
【0062】
図13から
図15は、モデル作成処理を説明するためのフローチャート図である。
図13において、モデル作成部200の遅延モデル作成部21は、変更前ネットリスト31、SDC32、及びライブラリ33を読み込んだ後、変更前ネットリスト31から、ファンクションの秘匿性が高いためにモジュール化する対象モジュールを抽出する(ステップS11)。遅延モデル作成部21は、LSIを構成する複数のモジュールの中からモデル化するモジュールを開発者に選択させ、開発者によって選択された対象モジュールに係るネットリストが抽出される。
【0063】
遅延モデル作成部21は、対象モジュールのネットリスト内のゲート数を算出する(ステップS12)。算出したゲート数は、記憶部130に格納される。ゲート数は、後述されるエリア調整時に参照される。
【0064】
そして、遅延モデル作成部21は、各ポートからレジスタまでの最大遅延を算出する(ステップS13)。遅延モデル作成部21は、入力ポート3からI/Fレジスタ5rのデータまでの最大遅延を算出する。同様に、遅延モデル作成部21は、I/Fレジスタ7rのデータから出力ポート7rまでの最大遅延を算出する。
【0065】
算出した最大遅延と等価になるバッファの段数を算出する(ステップS14)。入力ポート5r、出力ポート7rの各々に対して算出する。
【0066】
挿入するバッファの段数 = 遅延値 ÷ バッファ1段分の遅延
バッファの選択は、変更前ネットリスト31に基づくセルデータ、例えば、リスト33−2を用いてもよい。また、選択したバッファの1段分の遅延は、ライブラリ33を参照することによって取得可能である。
【0067】
遅延モデル作成部21は、I/F回路を作成する(ステップS15)。I/F回路は、入力ポート3とI/Fレジスタ5r間にステップS14にて算出した段数分のバッファ5bが挿入され、出力ポート4とI/Fレジスタ7r間にステップS14にて算出した段数分のバッファ7bが挿入されることにより作成される。
【0068】
遅延モデル作成部21は、作成したI/F回路に対して、引き付け配置制約データ36を作成する(ステップS16)。作成された引き付け配置制約データ36は、記憶部130に格納される。
【0069】
遅延モデル作成部21は、変更前ネットリスト31内のI/F回路部分をステップS15で作成したI/F回路で差し替える(ステップS17)。その後、遅延モデル作成部21は、開発者によって選択された対象モジュールに関して、全ポートを抽出したか否かを判断する(ステップS18)。全ポートを抽出していない場合、遅延モデル作成部21は、ステップS13へ戻り、上述同様の処理を繰り返す。一方、全ポートを抽出した場合、遅延モデル作成部21による処理は終了し、配線モデル作成部22による処理を行うために、モデル作成部200は、
図14のステップS19へと進む。
【0070】
図14にて、配線モデル作成部22は、SDC32を参照して、I/Fレジスタ5r及び7r間の最大値延を算出する(ステップS19)。Fレジスタ5r及び7r間において、内部の各レジスタ6rを区切りとして、最大値延が算出され合計される。
【0071】
I/Fレジスタ間の最大遅延 = T1+T2+T3
各レジスタ間の周期を足した値を遅延制約として定義する。算出された最大値延値を含むレジスタ間遅延制約データ35が記憶部130に格納される。
【0072】
配線モデル作成部22は、I/Fレジスタ間に存在するレジスタのクロック(Clock)パスとリセット(Reset)パスとを切断する(ステップS20)。そして、配線モデル作成部22は、リスト33−2を参照して、I/Fレジスタ間に存在するレジスタを特定の組合せセルに置換える(ステップS21)。クロック(Clock)パスとリセット(Reset)パスとを切断したレジスタをNANDセルに置換える。
【0073】
また、配線モデル作成部22は、I/Fレジスタ間の組合せセルを特定の組合せセルに置換える(ステップS22)。ここで、配線モデル作成部22での処理を終了し、エリア調整部23による処理を行うために、モデル作成部200は、
図15のステップS23へと進む。
【0074】
図15にて、エリア調整部23は、組合せセルの駆動能力を調整する(ステップS23)。ステップS12にて遅延モジュール作成部21によって算出しておいた対象モジュールのゲート数がオリジナルのゲート数より小さければ、リスト33−2を参照して、同じ組合せセルの駆動能力の高いセルに変更することによって、オリジナルのエリアに会わせ込む。例えば、駆動能力1倍のNANDセルを変更する場合、リスト33−2を参照して、駆動能力4倍のNANDセルに変更する。
【0075】
そして、エリア調整部23は、オリジナルのゲート数とモデルのゲート数とが等しいか否かを判断する(ステップS24)。オリジナルのゲート数とモデルのゲート数とが等しくない場合、エリア調整部23は、ステップS23へと戻り、エリアの会わせ込みを再度調整する。
【0076】
一方、オリジナルのゲート数とモデルのゲート数とが等しい場合、エリア調整部23での処理を終了して、秘匿処理部24での処理を行う。秘匿処理部24は、対象モジュールのネットリスト内のモジュール名、インスタンス名、ネット名等の名称を無意味な文字列に変換する(ステップS25)。
【0077】
上述した処理によって、対象モジュールの変更されたネットリストを含むLSI全体のネットリストが変更後ネットリスト34として記憶部130に格納される。
【0078】
顧客へ提供される設計データ39は、変更後ネットリスト34、レジスタ間遅延制約データ35、引き付けは位置制約データ36等を含む。
【0079】
図16は、ネットリストの変更例を示す図である。
図16において、変更前ネットリスト31において、記述31aでは、NANDセルが入力ポートIN1に接続され、NORセルが入力ポートIN2に接続され、NANDセルからNORセル、そしてFFセルに接続されている等が示されている。
【0080】
変更後ネットリスト34では、入力ポートからI/Fレジスタまでの遅延がバッファで置換えられている。この例では、変更前ネットリスト31の記述31aにおけるNANDセル「inst1」が直列に接続される4つのBUFセル「buf1_reg1_1」、「buf1_reg1_2」、「buf1_reg1_3」、及び「buf1_reg1_4」に置換えられている(記述31b)。最終段のBUFセル「buf1_reg1_4」は、wire_buf1_4によってFFセル「reg1」のデータに接続される。
【0081】
また、NORセル「inst2」が直列に接続される3つのBUFセル「buf2_reg1_1」、「buf2_reg1_2」、及び「buf2_reg1_3」に置換えられている(記述31c)。最終段のBUFセル「buf2_reg1_3」は、wire_buf2_3によってFFセル「reg1」のデータに接続される。
【0082】
図17は、レジスタ間遅延制約データの一例を示す図である。
図17において、reg1からreg2へのパスIの最大遅延の制約、及び、reg1からreg3へのパスIIの最大遅延の制約は、レジスタ関連遅延制約データ35によって、
I:set_max_delay [expre T1+T2+T3] -from reg1/CLK -to reg2/DATA
II:set_max_delay [expre T1+T2+T3] -from reg1/CLK -to reg3/DATA
のように記載される。
【0083】
図18は、引き付け配置制約データの一例を示す図である。
図18において、引き付け配置制約データ36は、レジスタ名に対して引き付け配置する対象バッファが1以上対応付けられる。
【0084】
この例において、レジスタ名「reg1」に対してバッファ「buf_reg1_1」と「buf_reg1_2」とが引き付け配置される。レジスタ名「reg2」に対してバッファ「buf_reg2_1」と「buf_reg2_2」と「buf_reg2_3」とが引き付け配置される。レジスタ名「reg3」に対してバッファ「buf_reg3_1」と「buf_reg3_2」と「buf_reg3_3」と「buf_reg3_4」とが引き付け配置される。
【0085】
以下に、関連技術と従来技術との比較について説明する。レイアウトのプロトタイピングを行う顧客へ提供されるネットリストに含まれる社外秘扱いの対象モジュールをモデル化する関連技術として、主に、対象モジュールのI/Fタイミングライブラリとそのモジュール形状とでモデル化するETM(Extracted Timing Model)と、対象モデルのI/Fロジックだけを抽出したネットリストとそのモジュール形状のモデルILM(Interface Logic Model)とが在る。
【0086】
このような関連技術の一例を
図19に示す。
図19において、開発元に実装されるベンダシステム101は、開発者によって選択されたモデル化の対象モジュールを、ネットリスト71、SDC72、及びライブラリ73を参照することによって、対象モジュールに係るネット情報とタイミング情報とをネットリスト71とSDC72の夫々から切り出す対象モジュール切り出し部78と、切り出した情報からI/Fタイミングを抽出するI/Fタイミング抽出部7aと、形状抽出部7bとを、処理部として有する。
【0087】
対象モジュール切り出し部78によって、対象モジュール1、2、・・・毎の対象ネット1及びSDC1、対象ネット2及びSDC2、・・・の夫々が切り出される。対象ネット1及びSDC1を用いて、I/Fタイミング抽出部7aによりタイミング情報1を出力し、また、形状抽出部7bにより形状情報1が出力される。
【0088】
I/Fタイミング抽出部7a及び形状抽出部7bによる処理は、対象モジュール1、2、・・・毎に実行される。そして、対象モジュール1、2、・・・毎に、タイミング情報1及び形状情報1が出力される。
【0089】
レイアウトプロトタイピング401を行う顧客システム301へは、切り出し後の最上位ネット79と、タイミング情報1、2、・・・と、形状情報1、2、・・・とが提供される。
【0090】
上述した関連技術では、
図20に示されるように、LSI8を複数の秘匿性の高い対象モジュール8cをモデル化すると、対象部分を含めた複数の矩形状のモデル8mでブラックボックス化されてしまう。ブラックボックス化された部分では、レイアウトプロトタイピング401において、配置や配線性を考慮することができない。
【0091】
しかしながら、前述した本実施例に係るレイアウトモデル作成装置100では、
図21に例示されるように、対象モジュール8cをモデル化しても、矩形でブラックボックス化されることがなく、配置や配線性を考慮可能に秘匿化することができる。
【0092】
図22は、関連技術と本実施例との比較を説明するための図である。
図22には、関連技術のETM、ILMと、本実施例との比較表が示されている。
図22において、モデルの形状、I/Fタイミング、秘匿性、配線混雑度、及び配置混雑度の各比較項目に関して、ETMでは、形状は「矩形」で表現され、I/Fタイミングはモデル化後でも考慮可能であり、秘匿性も守られている。一方、配線混雑度及び配置混雑度についてはモデル化後では考慮することができない。
【0093】
ILMにおいても、形状は「矩形」で表現され、モデル化後のI/Fタイミングは考慮可能であるが、秘匿性については十分ではない。また、配線混雑度及び配置混雑度についてはモデル化後では考慮することができない。
【0094】
ETM、ILM等のように、矩形のモデルになる場合、モデル内部の配置及び配線性が考慮できず、顧客システム301において正しいレイアウトプロトタイプができない。また、バス部分はチップ全体に配置されるため、矩形モデル化が困難である。矩形モデル化のための分割は可能であるが、分割の仕方、分割したモジュール間の接続等に処理負荷がかかってしまう。
【0095】
しかしながら、本実施例では、形状は制限されず(Free)にオリジナルから変更されない。また、I/Fタイミングは考慮可能であり、秘匿性は守られファンクションの動作が外部に知られることはない。更に、配線混雑度も配置混雑度も考慮可能である。
【0096】
上述したように、本実施例によれば、オリジナルのネットリストからの配置及び配線性を維持しつつ、顧客に提供してもファンクションの内容を知られることがない秘匿性の高いネットリストにすることができる。また、バスのようなセルがチップ全体に広がるモジュールのモデル化が可能になる。
【0097】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0098】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
選択された対象モジュールのネットリストと、タイミング制約データと、セルのライブラリとを記憶する記憶部と、
前記ネットリストと前記タイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するI/Fレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部I/F部を置換える遅延モデル作成部と、
前記ライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記I/Fレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記I/Fレジスタ間を変更する配線モデル作成部と、
を有するレイアウトモデル作成装置。
(付記2)
遅延モデル作成部は、
各ポート毎の最大値延とポートFFのクロックとを抽出し、前記遅延分のバッファ数を計算し、該ポートに1対1で、前記I/Fレジスタと最大値延分のバッファとで前記外部I/F部をモデル化し、該バッファと該I/Fレジスタとが引き付け配置されるように引き付け配置制約データを作成して記憶部に記憶することを特徴とする付記1記載のレイアウトモデル作成装置。
(付記3)
前記配線モデル作成部は、
前記ネットリストに既存のレジスタのクロックパス及びリセットパスを削除して、前記リストを参照して、データパスが残った該既存のレジスタを組合せセルで置換えることを特徴とする付記1又は2記載のレイアウトモデル作成装置。
(付記4)
前記配線モデル作成部は、
前記ネットリストに既存のセルを、前記リストを参照して、同じピン構成の特定のセルに置換えることを特徴とする付記3記載のレイアウトモデル作成装置。
(付記5)
前記配線モデル作成部は、
前記I/Fレジスタ及び前記既存のレジスタと置換えた組合せセル間の遅延を計算してレジスタ間遅延制約データを作成し記憶部に格納することを特徴とする付記3又は4記載のレイアウトモデル作成装置。
(付記6)
前記遅延モデル作成部は、モデル化前の前記ネットリストに基づいて、モデル化前の前記対象モジュールのゲート数を算出し、
前記算出されたゲート数にモデル化後の前記対象モジュールのゲート数が等しくなるように前記モデル化後の組合せセルの駆動能力を変更してエリアを調整するエリア調整部を更に有することを特徴とする付記1乃至5のいずれか一項記載のレイアウトモデル作成装置。
(付記7)
前記対象モジュールのモデル化後の前記ネットリスト内の少なくともモジュール名と、インスタンス名と、ネット名とを無意味な文字列に変換する秘匿処理部を更に有することを特徴とする付記6記載のレイアウトモデル作成装置。
(付記8)
コンピュータによって実行されるレイアウトモデル作成方法であって、
記憶部に記憶された選択された対象モジュールのネットリストとタイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するI/Fレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部I/F部を置換え、
前記記憶部に記憶されるライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記I/Fレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記I/Fレジスタ間を変更する
ことを特徴とするレイアウトモデル作成方法。
(付記9)
記憶部に記憶された選択された対象モジュールのネットリストとタイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するI/Fレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部I/F部を置換え、
前記記憶部に記憶されるライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記I/Fレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記I/Fレジスタ間を変更する
処理をコンピュータに実行させるプログラム。