(57)【要約】      （修正有）【課題】ＬＳＩを構成するモジュールをモデル化する際に、秘匿性を維持しながら、モデル内部の配置及び配線性を考慮したレイアウトプロトタイプを可能としたレイアウトモデルを作成する。【解決手段】選択された対象モジュールのネットリストと、タイミング制約データと、セルのライブラリとを記憶する記憶部と、前記ネットリストと前記タイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換える遅延モデル作成部と、前記ライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する配線モデル作成部と、を有する。【選択図】図５
2014038471.tif 000002
【特許請求の範囲】
【請求項１】
選択された対象モジュールのネットリストと、タイミング制約データと、セルのライブラリとを記憶する記憶部と、
前記ネットリストと前記タイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換える遅延モデル作成部と、
前記ライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する配線モデル作成部と、
を有するレイアウトモデル作成装置。
【請求項２】
遅延モデル作成部は、
各ポート毎の最大値延とポートＦＦのクロックとを抽出し、前記遅延分のバッファ数を計算し、該ポートに１対１で、前記Ｉ／Ｆレジスタと最大値延分のバッファとで前記外部Ｉ／Ｆ部をモデル化し、該バッファと該Ｉ／Ｆレジスタとが引き付け配置されるように引き付け配置制約データを作成して記憶部に記憶することを特徴とする請求項１記載のレイアウトモデル作成装置。
【請求項３】
前記配線モデル作成部は、
前記ネットリストに既存のレジスタのクロックパス及びリセットパスを削除して、前記リストを参照して、データパスが残った該既存のレジスタを組合せセルで置換えることを特徴とする請求項１又は２記載のレイアウトモデル作成装置。
【請求項４】
前記配線モデル作成部は、
前記ネットリストに既存のセルを、前記リストを参照して、同じピン構成の特定のセルに置換えることを特徴とする請求項３記載のレイアウトモデル作成装置。
【請求項５】
前記配線モデル作成部は、
前記Ｉ／Ｆレジスタ及び前記既存のレジスタと置換えた組合せセル間の遅延を計算してレジスタ間遅延制約データを作成し記憶部に格納することを特徴とする請求項３又は４記載のレイアウトモデル作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウトのプロトタイピングに係るレイアウトモデル作成装置に関する。
【背景技術】
【０００２】
顧客側で半導体集積回路の設計段階におけるレイアウトのプロトタイピングを行う場合、社外秘扱いのモジュールに対しては、そのモジュールごとにレイアウトモデルを作成する必要がある。
【０００３】
半導体集積回路の論理動作を確認する論理検証のためのＲＴＬベースのプリレイアウトされた論理シミュレーションモデルに遅延情報が付加され、また、ネットリストを基に回路情報が削除されたゲートシミュレーションモデル、設計データ内の機能ブロックの名称を変換すること、第１のライブラリのセルと第２のライブラリのセルとの対応関係を示すテーブルを用いてセル名を変更して等価のセルに置換すること等の技術によって、回路情報のノウハウを秘匿にすることが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２７４４９号公報
【特許文献２】特開２００７−２６１７８号公報
【特許文献３】特開平１１−３５３３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したゲートシミュレーションモデルは、遅延情報（タイミング）とブラックボックス化されたモジュールの形状情報だけを用いるようにした技術である。顧客側は、このようなモデルを用いて、ＬＳＩ設計の早期の段階でフロアプランの妥当性（つまり、マクロやピンの配置や配線の妥当性）の確認、また、タイミング・エリアの予測及び見積もりを行うため、対象デザインのレイアウトを行い評価する。このことをプロトタイピングと言う。
【０００６】
近年、ＬＳＩの微細化が進み、遅延情報とモジュールの形状情報だけを用いてプロトタイピングを行った場合、モデル内のゲート配置や配線の混雑度を考慮することができず、実際のレイアウトとの乖離が大きく、手戻りが発生してしまう。
【０００７】
また、機能ブロック、セルの名称を変えただけではモジュールのファンクションが残ってしまうため秘匿性が低く、等価のセルに置換えるのみでは遅延モデルとしては精度が低いと言った問題があった。
【０００８】
よって、本発明の目的は、ＬＳＩを構成するモジュールをモデル化する際に、秘匿性を維持しながら、モデル内部の配置及び配線性を考慮したレイアウトプロトタイプを可能としたレイアウトモデルを作成することである。
【課題を解決するための手段】
【０００９】
本実施例の一態様によれば、レイアウトモデル作成装置は、選択された対象モジュールのネットリストと、タイミング制約データと、セルのライブラリとを記憶する記憶部と、前記ネットリストと前記タイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換える遅延モデル作成部と、前記ライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する配線モデル作成部とを有する。
【００１０】
また、上記課題を解決するための手段として、レイアウトモデル作成方法、コンピュータに上記レイアウトモデル作成装置として機能させるためのプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。
【発明の効果】
【００１１】
開示の技術では、ＬＳＩを構成する秘匿性の高いモジュールを配置及び配線性を考慮可能にモデル化したレイアウトモデルを作成することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例に係るモデル作成方法を説明するための図である。
【図２】レイアウトモデル作成装置のハードウェア構成を示す図である。
【図３】レイアウトモデル作成装置に係る全体構成を説明するための図である。
【図４】モデル作成部の機能構成例を示す図である。
【図５】本実施例における遅延及び配線性の再現について説明するための図である。
【図６】遅延モデル作成処理の一例を説明するための図である。
【図７】配線モデル作成処理の一例を説明するための図である。
【図８】特定の組合せセルへの置換え例を示す図である。
【図９】配線モデル作成部によるレジスタ間の遅延制約データの作成例を説明するための図である。
【図１０】遅延制約を区切る一例を示す図である。
【図１１】エリア調整の一例を説明するための図である。
【図１２】駆動能力の変更方法例を説明するための図である。
【図１３】モデル作成処理を説明するためのフローチャート図（その１）である。
【図１４】モデル作成処理を説明するためのフローチャート図（その２）である。
【図１５】モデル作成処理を説明するためのフローチャート図（その３）である。
【図１６】ネットリストの変更例を示す図である。
【図１７】レジスタ間遅延制約データの一例を示す図である。
【図１８】引き付け配置制約データの一例を示す図である。
【図１９】関連技術の一例を説明するための図である。
【図２０】関連技術によるモデル化の一例を示す図である。
【図２１】本実施例によるモデル化の一例を示す図である。
【図２２】関連技術と本実施例との比較を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本実施例に係るモデル作成方法を説明するための図である。図１に示すＬＳＩを構成する複数のモジュールにおけるモデル化の対象モジュール２を例として、本実施例に係るモデル作成方法を説明する。
【００１４】
本実施例に係るモデル作成方法では、モデル化の対象モジュール２の入力ポート３及び出力ポート４の各々から初段のレジスタまでの遅延をバッファ５ｂ及び７ｂで再現し、ポート３及び４の各々と１対１で対応するようにＩ／Ｆレジスタ５ｒ及び７ｒを挿入する。
【００１５】
Ｉ／Ｆレジスタ５ｒとバッファ５ｂとを引き付け配置５とすることで、レイアウトにより配置が離れバッファ５ｂの遅延が変化することを防ぐ。同様に、Ｉ／Ｆレジスタ７ｒとバッファ７ｂとを引き付け配置７とすることで、レイアウトにより配置が離れバッファ７ｂの遅延が変化することを防ぐ。
【００１６】
Ｉ／Ｆレジスタ５ｒとＩ／Ｆレジスタ７ｒとの間の論理部分に相当するＩ／Ｆレジスタ間論理６におけるレジスタ６ｒを、全て同じピン数を持つ特定の組合せセルに置換える。秘匿性を上げるため、レジスタ６ｒへのクロックパス又はリセットパスは切断し、レジスタ６ｒのデータ入出力やイネーブル信号などを置き換える組合せセルの入出力に繋ぎ直す。この処理によって、配線性を残すことが可能となる。
【００１７】
組合せセルに置き換えられたＩ／Ｆレジスタ間論理６の駆動能力を調整することによって、オリジナルネットのエリアに合わせ込む。
【００１８】
上述したモデル作成方法で対象モジュール２をモデル化することによって、秘匿性を維持しながら精度の高い配置及び配線性を考慮可能なタイミング解析を行なうことができる。従って、手戻りが削減されることにより、顧客へのＬＳＩ設計に係るデータファイルの提供回数を削減することができる。
【００１９】
このようなモデル作成方法をレイアウトモデル作成装置は、図２に示されるようなハードウェア構成を有する。図２は、レイアウトモデル作成装置のハードウェア構成を示す図である。図２において、レイアウトモデル作成装置１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００２０】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従ってレイアウトモデル作成装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００２１】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００２２】
入力装置１４は、マウス、キーボード等を有し、ユーザがレイアウトモデル作成装置による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。
【００２３】
レイアウトモデル作成装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってレイアウトモデル作成装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ装置１８にセットされると、ドライブ装置１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２４】
図３は、レイアウトモデル作成装置１００に係る全体構成を説明するための図である。図３において、レイアウトモデル作成装置１００は、ＬＳＩに実装される機能ブロックを開発する開発元に導入される装置であり、顧客システム２００は、開発元で開発されモデル化することによって秘匿化された少なくとも一つ以上の機能ブロックを含むＬＳＩ設計に係る設計データに基づいて、顧客側でレイアウトプロトタイピング４００を行うためのコンピュータ装置を含む開発環境に相当する。
【００２５】
レイアウトモデル作成装置１００は、本実施例に係る処理部として、モデル作成部２００を有する。また、レイアウトモデル作成装置１００は、記憶部１３０に、モデル作成処理を行う前の変更前ネットリスト３１、タイミング制約データを含むＳＤＣ（Synopsys Design Constraints）３２、ＬＳＩを構成するセルのライブラリ３３、モデル作成処理を行った後の変更後ネットリスト３４、レジスタ間遅延制約データ３５、引き付けは位置制約データ３６等のデータを格納する。
【００２６】
モデル作成部２００は、設計したＬＳＩを構成する複数のモジュール（複数の機能ブロック）のうち、社外秘のモジュールに対しても、配置及び配線性を考慮可能なように、モデル化する処理部である。モデル作成部２００の構成は、図４で説明される。
【００２７】
変更前ネットリスト３１は、モデル作成部２００によるモデル作成処理が行われる前の、セル間の接続情報を示す。ＳＤＣ３２は、タイミング制約を定義したデータファイルである。ライブラリ３３は、セル毎の論理機能、電気特性、及び駆動能力等のデータを含むライブラリである。
【００２８】
変更後ネットリスト３４は、モデル作成部２００によるモデル作成処理によって変更前ネットリスト３１が変更されたネットリストである。
【００２９】
レジスタ間遅延制約データ３５は、Ｉ／Ｆレジスタ間論理６（図１）における遅延制約を示し、顧客システム３００において、ＳＤＣ３２に追加されるデータである。
【００３０】
引き付け配置制約データ３６は、顧客側でのレイアウトプロとタイピングによる配置変更によって遅延が変更されないように、Ｉ／Ｆ遅延モデルのバッファ及びレジスタの引き付け配置を定義したデータである。引き付け配置制約データ３６によって、配置変更の制約が定義される。
【００３１】
顧客システム３００は、レイアウトモデル作成装置１００でのモデル作成処理後に得られた変更後ネットリスト３４と、ＳＤＣ３２と、ライブラリ３３と、レジスタ間遅延制約データ３５と、引き付け配置制約データ３６とを用いて、レイアウトプロトタイピング４００を行う。
【００３２】
顧客システム３００では、レジスタ間支援制約データ３５をＳＤＣ３２に追加し、引き付け配置制約データ３６をフロアプラン設定値５３に追加する。変更後ネットリスト３４は、開発元から提供された状態で使用する。
【００３３】
図４は、モデル作成部の機能構成例を示す図である。図４において、モデル作成部２００は、遅延モデル作成部２１と、配線モデル作成部２２と、エリア調整部２３と、秘匿処理部２４とを有する。
【００３４】
遅延モデル作成部２１は、変更前ネットリスト３１とＳＤＣ３２とを参照して、モデル化するモジュールの入出力ポートから初段のＩ／Ｆレジスタまでの遅延をバッファで再現し、ポートと１対１でレジスタを挿入する処理部である。
【００３５】
配線モデル作成部２２は、ライブラリ３３を参照して、Ｉ／Ｆレジスタ間の論理は全て同じピン数をもつ特定の組み合せセルに置き換える処理部である。配線モデル作成部２２では、秘匿性を上げるため、レジスタへのクロックパスとリセットパスとを切断し、レジスタのデータ入出力やイネーブル信号などを置き換える組み合せセルの入出力に繋ぎ直す。
【００３６】
エリア調整部２３は、ライブラリ３３を参照して、配線モデル作成部２２が作成したＩ／Ｆレジスタ間の論理の駆動能力を、オリジナルのゲート数に相当するように調整することによって、エリアを合わせ込む処理部である。
【００３７】
秘匿処理部２４は、モジュール、インスタンス、ネットの名称を無意味な文字列に変換する処理部である。
【００３８】
図５は、本実施例における遅延及び配線性の再現について説明するための図である。図５において、最上位モジュール１は、ＬＳＩ全体又はＬＳＩを構成する機能ブロックの１つに相当する。対象モジュール２は、最上位モジュール１内に含まれる複数のモジュールのうち、秘匿性の高いモジュールとして選択されたモジュールである。
【００３９】
このモジュール例では、モデル作成部２００における遅延モデル作成部２１によって、入力ポートから初段のＩ／Ｆレジスタ５ｒまでの遅延を４個のバッファ５ｂで再現し、出力ポートから初段のＩ／Ｆレジスタ７ｒまでの遅延を２個のバッファ７ｂで再現している。
【００４０】
遅延モデル作成部２１は、各ポートに対して１対１の関係でレジスタを挿入し、その際、レジスタがある場合はクローニングする。レジスタのクロックはオリジナルのものを使用する。更に、Ｉ／Ｆレジスタ５ｒとバッファ５ｂとは引き付けて配置する。同様に、Ｉ／Ｆレジスタ７ｒとバッファ７ｂとは引き付けて配置する。この処理により、Ｉ／Ｆ遅延が再現される。遅延モデル作成部２１によって、引き付け配置制約データ３６が生成され記憶部１３０に格納される。
【００４１】
モデル作成部２００における配線モデル作成部２２によって、Ｉ／Ｆレジスタ５ｒとＩ／Ｆレジスタ７ｒｔの間の論理は、同じピン構成の他の組み合わせセルに置き換えられる。また、配線モデル作成部２２は、既存のレジスタのクロックパスとリセットパスとを削除して、データパスのみを組み合わせセルで置き換える。そして、配線モデル作成部２２は、Ｉ／Ｆレジスタ５ｒとＩ／Ｆレジスタ７ｒ間のパスには実際にかかる周期分の遅延制約を与える。遅延を考慮させることで、過度な配置及び配線の悪化を防止することができ、配線性を再現しつつファンクションを隠すことができる。配線モデル作成部２２によって、レジスタ間遅延制約データ３５が生成され記憶部１３０に格納される。
【００４２】
遅延モデル作成部２１及び配線モデル作成部２２によって、モデル化された対象モジュール２内のセルは、サイズ変更以外は、レイアウトで変更なし（don't touch）の属性にする。
【００４３】
更に、エリア調整部２３によるサイズ変更によりオリジナルのサイズに会わせ込み、また、秘匿処理部２４による名称の無意味な文字列への変換等を行うことにより、秘匿性を高めることができる。
【００４４】
遅延モデル作成部２１による遅延モデル作成処理の一例について図６で詳述する。図６は、遅延モデル作成処理の一例を説明するための図である。図６に例示する対象モジュール２−１は、ポートＡ、Ｂ、及びＣの３個の入出力ポートとクロックＣＬＫ端子を有する場合を示している。
【００４５】
対象モジュール２−１において、入力ポートＡから出力ポートＢへのパス上には、入力ポートＡ、組合せ論理５１、レジスタ５２、組合せ論理５３、レジスタ５４、組合せ論理５５、レジスタ５６、組合せ論理５７、Ｉ／Ｆレジスタ５８、組合せ論理５９、出力ポートＢが存在する。
【００４６】
また、入力ポートＡから出力ポートＣへのパス上には、入力ポートＡ、組合せ論理５１、レジスタ５２、組合せ論理５３、レジスタ５４、組合せ論理６０、レジスタ６１、組合せ論理６２，出力ポートＣが存在する。
【００４７】
モデル作成部２００における配線モデル作成部２２によって、組合せ論理５１が２個のバッファ５１ｂに置き換えられ、組合せ論理５９が３個のバッファ５９ｂに置き換えられ、組合せ論理６２が４個のバッファ６２ｂに置き換えられる。組合せ論理５１、組合せ論理５９、及び組合せ論理６２が夫々最大遅延分のバッファに置き換えられる。
【００４８】
次に、配線モデル作成部２２による配線モデル作成処理の一例について図７で詳述する。図７は、配線モデル作成処理の一例を説明するための図である。図７において、配線モデル作成部２２は、内部レジスタのクロックパスやリセットパスを削除し、データパスだけを組合せセルに置き換える。クロックパス又はリセットパスとなるパス５４ｄ、５６ｄ、及び６０ｄが削除される。
【００４９】
また、内部レジスタ置換用の組合せセル５４ｎ、５６ｎ、及び６０ｎによって、Ｉ／Ｆレジスタ５２とＩ／Ｆレジスタ５８又は６１との間のレジスタ５４、５６等が置換えられる。更に、既存のセル５５及び６０は、同じピン構成の特定の組合せセル５５ｓ及び６０ｓに置換えられる。
【００５０】
既存のセル５５を特定の組合せセル５５ｓへの置換え例を図８で説明する。図８は、特定の組合せセルへの置換え例を示す図である。図８において、既存のセル５５が、３つの入力に対してＡＮＤ演算結果を出力するＡＮＤ回路と、４つの入力に対してＡＮＤ演算結果を出力するＡＮＤ回路と、これら２つの出力を入力してＯＲ演算結果を出力するＯＲ回路とによる組合せセルである場合に、３つの入力に対してＮＡＮＤ演算結果を出力するＮＡＮＤ回路と、４つの入力に対してＮＡＮＤ演算結果を出力するＮＡＮＤ回路と、これら２つの出力を入力してＮＡＮＤ演算結果を出力するＮＡＮＤ回路とによる特定の組合せセル５５ｓに置き換えられる。このように、既存のセル５５と置き換える特定の組合せセル５５ｓは、既存のセル５５と同じピン構成のセルである。
【００５１】
図９は、配線モデル作成部によるレジスタ間の遅延制約データの作成例を説明するための図である。図９において、図７のＩ／Ｆレジスタ５２、５８、及び６１は、ｒｅｇ１、ｒｅｇ２、及びｒｅｇ３として説明される。
【００５２】
配線モデル作成部２２は、ｒｅｇ１から組合せセル５４ｎまでの周期Ｔ１、組合せセル５４ｎから組合せセル５６ｎまでの周期Ｔ２、及び、組合せセル５６ｎからｒｅｇ２までの周期Ｔ３を夫々算出して、ｒｅｇ１からｒｅｇ２までのレジスタ間の最大遅延制約を算出する。
【００５３】
更に、組合せセル５４ｎから組合せセル５６ｎまでの周期Ｔ４、及び、組合せセル５６ｎからｒｅｇ２までの周期Ｔ５を夫々算出して、ｒｅｇ１からｒｅｇ３までのレジスタ間の最大遅延制約を算出する。
【００５４】
ｒｅｇ１−＞ｒｅｇ２：最大遅延制約＝Ｔ１＋Ｔ２＋Ｔ３
ｒｅｇ１−＞ｒｅｇ３：最大遅延制約＝Ｔ１＋Ｔ４＋Ｔ５
レジスタ間の遅延制約がないと、レイアウトツールはセルの配置が遠く離れたり、配線が迂回したとしても問題ないと判断してしまう。遅延制約を設けることによりレイアウトツールは妥当な配置及び配線を行うことができる。
【００５５】
更に、上述に加えて、レジスタ間のタイミングマージンに偏りがある場合に限り、遅延制約を区切るようにしても良い。図１０は、遅延制約を区切る一例を示す図である。図１０において、ｒｅｇ１からｃｏｍｂ１間のタイミングマージンが大きく、その他の区間でタイミングマージンが小さい場合、ｒｅｇ１からｒｅｇ２間の最大遅延制約を周期Ｔ１、Ｔ２、及びＴ３の合計とすると、ｒｅｇ１からｃｏｍｂ１間のマージンが他の区間で使用されてしまい、その結果、配置が変更されてしまう場合がある。
【００５６】
ｃｏｍｂ１の出力側にｃｏｍｂ１バッファ６３ｂを挿入しておくことで、遅延制約を以下のように設定することができる。
【００５７】
ｒｅｇ１からｃｏｍｂ１バッファ間：Ｔ１
ｃｏｍｂ１バッファからｒｅｇ２間：Ｔ２＋Ｔ３
バッファを挿入して遅延制約を区切ることによって、ｒｅｇ１からｃｏｍｂ１間のマージンが他の区間で使用されることによる配置の変更を抑制することができる。
【００５８】
次に、エリア調整部２３によるエリア調整処理について図１１で説明する。図１１は、エリア調整の一例を説明するための図である。図１１では、対象モジュール２−１のモデルのエリアが、オリジナルのエリアより小さい場合、特定の組合せセル６０ｓのうち、駆動能力の高いセルに変更する。この例では、駆動能力「１」に対して駆動能力「８」に変更される。
【００５９】
駆動能力の変更方法例について図１２で説明する。図１２において、ライブラリ３３を参照することによって、駆動能力の大きさを含むセル名と、セルのエリアの大きさとを対応付けたリスト３３−２を作成しておく。リスト３３−２は、使用可能なテクノロジのセルの一覧に相当する。
【００６０】
ライブラリ３３内に、
cell(NANDx2)
・・・
area 10;
・・・
cell(NANDx4)
・・・
area 20;
が存在した場合、
NANDx2,10
NANDx4,20
を含むリストが作成される。セル名称は、論理回路の種別と駆動能力とを示す形式とすればよい。
【００６１】
対象モジュール２−１のネットリストが、NET(Model)で識別され、NET(Model)内のエリアの合計が、オリジナルのエリア「１１０」に対して「１００」と小さい場合、NET(Model)内の
NANDx2 XXX(     )
の記述部分のセル名称を、リストを参照することによって得られる駆動能力の高いセル「NANDx4」に書き換えて、
NANDx4 XXX(     )
とする。
【００６２】
図１３から図１５は、モデル作成処理を説明するためのフローチャート図である。図１３において、モデル作成部２００の遅延モデル作成部２１は、変更前ネットリスト３１、ＳＤＣ３２、及びライブラリ３３を読み込んだ後、変更前ネットリスト３１から、ファンクションの秘匿性が高いためにモジュール化する対象モジュールを抽出する（ステップＳ１１）。遅延モデル作成部２１は、ＬＳＩを構成する複数のモジュールの中からモデル化するモジュールを開発者に選択させ、開発者によって選択された対象モジュールに係るネットリストが抽出される。
【００６３】
遅延モデル作成部２１は、対象モジュールのネットリスト内のゲート数を算出する（ステップＳ１２）。算出したゲート数は、記憶部１３０に格納される。ゲート数は、後述されるエリア調整時に参照される。
【００６４】
そして、遅延モデル作成部２１は、各ポートからレジスタまでの最大遅延を算出する（ステップＳ１３）。遅延モデル作成部２１は、入力ポート３からＩ／Ｆレジスタ５ｒのデータまでの最大遅延を算出する。同様に、遅延モデル作成部２１は、Ｉ／Ｆレジスタ７ｒのデータから出力ポート７ｒまでの最大遅延を算出する。
【００６５】
算出した最大遅延と等価になるバッファの段数を算出する（ステップＳ１４）。入力ポート５ｒ、出力ポート７ｒの各々に対して算出する。
【００６６】
挿入するバッファの段数  ＝  遅延値  ÷  バッファ１段分の遅延
バッファの選択は、変更前ネットリスト３１に基づくセルデータ、例えば、リスト３３−２を用いてもよい。また、選択したバッファの１段分の遅延は、ライブラリ３３を参照することによって取得可能である。
【００６７】
遅延モデル作成部２１は、Ｉ／Ｆ回路を作成する（ステップＳ１５）。Ｉ／Ｆ回路は、入力ポート３とＩ／Ｆレジスタ５ｒ間にステップＳ１４にて算出した段数分のバッファ５ｂが挿入され、出力ポート４とＩ／Ｆレジスタ７ｒ間にステップＳ１４にて算出した段数分のバッファ７ｂが挿入されることにより作成される。
【００６８】
遅延モデル作成部２１は、作成したＩ／Ｆ回路に対して、引き付け配置制約データ３６を作成する（ステップＳ１６）。作成された引き付け配置制約データ３６は、記憶部１３０に格納される。
【００６９】
遅延モデル作成部２１は、変更前ネットリスト３１内のＩ／Ｆ回路部分をステップＳ１５で作成したＩ／Ｆ回路で差し替える（ステップＳ１７）。その後、遅延モデル作成部２１は、開発者によって選択された対象モジュールに関して、全ポートを抽出したか否かを判断する（ステップＳ１８）。全ポートを抽出していない場合、遅延モデル作成部２１は、ステップＳ１３へ戻り、上述同様の処理を繰り返す。一方、全ポートを抽出した場合、遅延モデル作成部２１による処理は終了し、配線モデル作成部２２による処理を行うために、モデル作成部２００は、図１４のステップＳ１９へと進む。
【００７０】
図１４にて、配線モデル作成部２２は、ＳＤＣ３２を参照して、Ｉ／Ｆレジスタ５ｒ及び７ｒ間の最大値延を算出する（ステップＳ１９）。Ｆレジスタ５ｒ及び７ｒ間において、内部の各レジスタ６ｒを区切りとして、最大値延が算出され合計される。
【００７１】
Ｉ／Ｆレジスタ間の最大遅延  ＝  Ｔ１＋Ｔ２＋Ｔ３
各レジスタ間の周期を足した値を遅延制約として定義する。算出された最大値延値を含むレジスタ間遅延制約データ３５が記憶部１３０に格納される。
【００７２】
配線モデル作成部２２は、Ｉ／Ｆレジスタ間に存在するレジスタのクロック（Clock）パスとリセット（Reset）パスとを切断する（ステップＳ２０）。そして、配線モデル作成部２２は、リスト３３−２を参照して、Ｉ／Ｆレジスタ間に存在するレジスタを特定の組合せセルに置換える（ステップＳ２１）。クロック（Clock）パスとリセット（Reset）パスとを切断したレジスタをＮＡＮＤセルに置換える。
【００７３】
また、配線モデル作成部２２は、Ｉ／Ｆレジスタ間の組合せセルを特定の組合せセルに置換える（ステップＳ２２）。ここで、配線モデル作成部２２での処理を終了し、エリア調整部２３による処理を行うために、モデル作成部２００は、図１５のステップＳ２３へと進む。
【００７４】
図１５にて、エリア調整部２３は、組合せセルの駆動能力を調整する（ステップＳ２３）。ステップＳ１２にて遅延モジュール作成部２１によって算出しておいた対象モジュールのゲート数がオリジナルのゲート数より小さければ、リスト３３−２を参照して、同じ組合せセルの駆動能力の高いセルに変更することによって、オリジナルのエリアに会わせ込む。例えば、駆動能力１倍のＮＡＮＤセルを変更する場合、リスト３３−２を参照して、駆動能力４倍のＮＡＮＤセルに変更する。
【００７５】
そして、エリア調整部２３は、オリジナルのゲート数とモデルのゲート数とが等しいか否かを判断する（ステップＳ２４）。オリジナルのゲート数とモデルのゲート数とが等しくない場合、エリア調整部２３は、ステップＳ２３へと戻り、エリアの会わせ込みを再度調整する。
【００７６】
一方、オリジナルのゲート数とモデルのゲート数とが等しい場合、エリア調整部２３での処理を終了して、秘匿処理部２４での処理を行う。秘匿処理部２４は、対象モジュールのネットリスト内のモジュール名、インスタンス名、ネット名等の名称を無意味な文字列に変換する（ステップＳ２５）。
【００７７】
上述した処理によって、対象モジュールの変更されたネットリストを含むＬＳＩ全体のネットリストが変更後ネットリスト３４として記憶部１３０に格納される。
【００７８】
顧客へ提供される設計データ３９は、変更後ネットリスト３４、レジスタ間遅延制約データ３５、引き付けは位置制約データ３６等を含む。
【００７９】
図１６は、ネットリストの変更例を示す図である。図１６において、変更前ネットリスト３１において、記述３１ａでは、ＮＡＮＤセルが入力ポートＩＮ１に接続され、ＮＯＲセルが入力ポートＩＮ２に接続され、ＮＡＮＤセルからＮＯＲセル、そしてＦＦセルに接続されている等が示されている。
【００８０】
変更後ネットリスト３４では、入力ポートからＩ／Ｆレジスタまでの遅延がバッファで置換えられている。この例では、変更前ネットリスト３１の記述３１ａにおけるＮＡＮＤセル「inst1」が直列に接続される４つのＢＵＦセル「buf1_reg1_1」、「buf1_reg1_2」、「buf1_reg1_3」、及び「buf1_reg1_4」に置換えられている（記述３１ｂ）。最終段のＢＵＦセル「buf1_reg1_4」は、wire_buf1_4によってＦＦセル「reg1」のデータに接続される。
【００８１】
また、ＮＯＲセル「inst2」が直列に接続される３つのＢＵＦセル「buf2_reg1_1」、「buf2_reg1_2」、及び「buf2_reg1_3」に置換えられている（記述３１ｃ）。最終段のＢＵＦセル「buf2_reg1_3」は、wire_buf2_3によってＦＦセル「reg1」のデータに接続される。
【００８２】
図１７は、レジスタ間遅延制約データの一例を示す図である。図１７において、ｒｅｇ１からｒｅｇ２へのパスＩの最大遅延の制約、及び、ｒｅｇ１からｒｅｇ３へのパスＩＩの最大遅延の制約は、レジスタ関連遅延制約データ３５によって、
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
のように記載される。
【００８３】
図１８は、引き付け配置制約データの一例を示す図である。図１８において、引き付け配置制約データ３６は、レジスタ名に対して引き付け配置する対象バッファが１以上対応付けられる。
【００８４】
この例において、レジスタ名「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」とが引き付け配置される。
【００８５】
以下に、関連技術と従来技術との比較について説明する。レイアウトのプロトタイピングを行う顧客へ提供されるネットリストに含まれる社外秘扱いの対象モジュールをモデル化する関連技術として、主に、対象モジュールのＩ／Ｆタイミングライブラリとそのモジュール形状とでモデル化するＥＴＭ（Extracted Timing Model）と、対象モデルのＩ／Ｆロジックだけを抽出したネットリストとそのモジュール形状のモデルＩＬＭ（Interface Logic Model）とが在る。
【００８６】
このような関連技術の一例を図１９に示す。図１９において、開発元に実装されるベンダシステム１０１は、開発者によって選択されたモデル化の対象モジュールを、ネットリスト７１、ＳＤＣ７２、及びライブラリ７３を参照することによって、対象モジュールに係るネット情報とタイミング情報とをネットリスト７１とＳＤＣ７２の夫々から切り出す対象モジュール切り出し部７８と、切り出した情報からＩ／Ｆタイミングを抽出するＩ／Ｆタイミング抽出部７ａと、形状抽出部７ｂとを、処理部として有する。
【００８７】
対象モジュール切り出し部７８によって、対象モジュール１、２、・・・毎の対象ネット１及びＳＤＣ１、対象ネット２及びＳＤＣ２、・・・の夫々が切り出される。対象ネット１及びＳＤＣ１を用いて、Ｉ／Ｆタイミング抽出部７ａによりタイミング情報１を出力し、また、形状抽出部７ｂにより形状情報１が出力される。
【００８８】
Ｉ／Ｆタイミング抽出部７ａ及び形状抽出部７ｂによる処理は、対象モジュール１、２、・・・毎に実行される。そして、対象モジュール１、２、・・・毎に、タイミング情報１及び形状情報１が出力される。
【００８９】
レイアウトプロトタイピング４０１を行う顧客システム３０１へは、切り出し後の最上位ネット７９と、タイミング情報１、２、・・・と、形状情報１、２、・・・とが提供される。
【００９０】
上述した関連技術では、図２０に示されるように、ＬＳＩ８を複数の秘匿性の高い対象モジュール８ｃをモデル化すると、対象部分を含めた複数の矩形状のモデル８ｍでブラックボックス化されてしまう。ブラックボックス化された部分では、レイアウトプロトタイピング４０１において、配置や配線性を考慮することができない。
【００９１】
しかしながら、前述した本実施例に係るレイアウトモデル作成装置１００では、図２１に例示されるように、対象モジュール８ｃをモデル化しても、矩形でブラックボックス化されることがなく、配置や配線性を考慮可能に秘匿化することができる。
【００９２】
図２２は、関連技術と本実施例との比較を説明するための図である。図２２には、関連技術のＥＴＭ、ＩＬＭと、本実施例との比較表が示されている。図２２において、モデルの形状、Ｉ／Ｆタイミング、秘匿性、配線混雑度、及び配置混雑度の各比較項目に関して、ＥＴＭでは、形状は「矩形」で表現され、Ｉ／Ｆタイミングはモデル化後でも考慮可能であり、秘匿性も守られている。一方、配線混雑度及び配置混雑度についてはモデル化後では考慮することができない。
【００９３】
ＩＬＭにおいても、形状は「矩形」で表現され、モデル化後のＩ／Ｆタイミングは考慮可能であるが、秘匿性については十分ではない。また、配線混雑度及び配置混雑度についてはモデル化後では考慮することができない。
【００９４】
ＥＴＭ、ＩＬＭ等のように、矩形のモデルになる場合、モデル内部の配置及び配線性が考慮できず、顧客システム３０１において正しいレイアウトプロトタイプができない。また、バス部分はチップ全体に配置されるため、矩形モデル化が困難である。矩形モデル化のための分割は可能であるが、分割の仕方、分割したモジュール間の接続等に処理負荷がかかってしまう。
【００９５】
しかしながら、本実施例では、形状は制限されず（Free）にオリジナルから変更されない。また、Ｉ／Ｆタイミングは考慮可能であり、秘匿性は守られファンクションの動作が外部に知られることはない。更に、配線混雑度も配置混雑度も考慮可能である。
【００９６】
上述したように、本実施例によれば、オリジナルのネットリストからの配置及び配線性を維持しつつ、顧客に提供してもファンクションの内容を知られることがない秘匿性の高いネットリストにすることができる。また、バスのようなセルがチップ全体に広がるモジュールのモデル化が可能になる。
【００９７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００９８】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
選択された対象モジュールのネットリストと、タイミング制約データと、セルのライブラリとを記憶する記憶部と、
前記ネットリストと前記タイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換える遅延モデル作成部と、
前記ライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する配線モデル作成部と、
を有するレイアウトモデル作成装置。
（付記２）
遅延モデル作成部は、
各ポート毎の最大値延とポートＦＦのクロックとを抽出し、前記遅延分のバッファ数を計算し、該ポートに１対１で、前記Ｉ／Ｆレジスタと最大値延分のバッファとで前記外部Ｉ／Ｆ部をモデル化し、該バッファと該Ｉ／Ｆレジスタとが引き付け配置されるように引き付け配置制約データを作成して記憶部に記憶することを特徴とする付記１記載のレイアウトモデル作成装置。
（付記３）
前記配線モデル作成部は、
前記ネットリストに既存のレジスタのクロックパス及びリセットパスを削除して、前記リストを参照して、データパスが残った該既存のレジスタを組合せセルで置換えることを特徴とする付記１又は２記載のレイアウトモデル作成装置。
（付記４）
前記配線モデル作成部は、
前記ネットリストに既存のセルを、前記リストを参照して、同じピン構成の特定のセルに置換えることを特徴とする付記３記載のレイアウトモデル作成装置。
（付記５）
前記配線モデル作成部は、
前記Ｉ／Ｆレジスタ及び前記既存のレジスタと置換えた組合せセル間の遅延を計算してレジスタ間遅延制約データを作成し記憶部に格納することを特徴とする付記３又は４記載のレイアウトモデル作成装置。
（付記６）
前記遅延モデル作成部は、モデル化前の前記ネットリストに基づいて、モデル化前の前記対象モジュールのゲート数を算出し、
前記算出されたゲート数にモデル化後の前記対象モジュールのゲート数が等しくなるように前記モデル化後の組合せセルの駆動能力を変更してエリアを調整するエリア調整部を更に有することを特徴とする付記１乃至５のいずれか一項記載のレイアウトモデル作成装置。
（付記７）
前記対象モジュールのモデル化後の前記ネットリスト内の少なくともモジュール名と、インスタンス名と、ネット名とを無意味な文字列に変換する秘匿処理部を更に有することを特徴とする付記６記載のレイアウトモデル作成装置。
（付記８）
コンピュータによって実行されるレイアウトモデル作成方法であって、
記憶部に記憶された選択された対象モジュールのネットリストとタイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換え、
前記記憶部に記憶されるライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する
ことを特徴とするレイアウトモデル作成方法。
（付記９）
記憶部に記憶された選択された対象モジュールのネットリストとタイミング制約データとに基づいて、前記対象モジュールの各ポートと該ポートに対応するＩ／Ｆレジスタとの間の遅延を、該遅延分のバッファでモデル化して、前記ネットリストの外部Ｉ／Ｆ部を置換え、
前記記憶部に記憶されるライブラリから得られるセルのリストに基づいて、前記対象モジュールの前記ネットリスト内の前記Ｉ／Ｆレジスタ間のセルを同じピン構成の特定のセルに置換えた配線モデルを作成して、前記ネットリストの該前記Ｉ／Ｆレジスタ間を変更する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【００９９】
２            対象モジュール
３            入力ポート
４            出力ポート
５、７        引き付け配置
５ｒ、７ｒ    Ｉ／Ｆレジスタ
６            Ｉ／Ｆレジスタ間論理
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３１          変更前ネットリスト
３２          ＳＤＣ
３３          ライブラリ
３４          変更後ネットリスト
３５          レジスタ間遅延制約データ
３６          引き付け配置制約データ
５３          フロアプラン設定値
１００        レイアウトモデル作成装置
２００        モデル作成部
３００        顧客システム
４００        レイアウトプロトタイプ
【図１】
2014038471.tif 000003
【図２】
2014038471.tif 000004
【図３】
2014038471.tif 000005
【図４】
2014038471.tif 000006
【図５】
2014038471.tif 000007
【図６】
2014038471.tif 000008
【図７】
2014038471.tif 000009
【図８】
2014038471.tif 000010
【図９】
2014038471.tif 000011
【図１０】
2014038471.tif 000012
【図１１】
2014038471.tif 000013
【図１２】
2014038471.tif 000014
【図１３】
2014038471.tif 000015
【図１４】
2014038471.tif 000016
【図１５】
2014038471.tif 000017
【図１６】
2014038471.tif 000018
【図１７】
2014038471.tif 000019
【図１８】
2014038471.tif 000020
【図１９】
2014038471.tif 000021
【図２２】
2014038471.tif 000022
【図２０】
2014038471.tif 000023
【図２１】
2014038471.tif 000024