(57)【要約】    【課題】  ネットリストのバージョンと、元の設計データである動作記述及び動作合成制約条件のバージョン、動作合成により生成されるＲＴＬ記述を容易に確認することができ、不具合原因追求の効率化が図れるネットリストバージョン検証装置を提供する。    【解決手段】  動作記述２００Ａ、動作合成制約条件２００Ｂ、ＲＴＬ記述２００Ｃ及びネットリスト２００Ｅのバージョン情報を元にして属性情報を生成し、動作合成手段の動作合成時におけるＲＴＬ記述２００Ｃの生成段階で前記属性情報を組み込む（ステップＳ２０３）。【選択図】      図１
2007087061.tif 000002
【特許請求の範囲】
【請求項１】
動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証方法において、
前記動作記述、前記動作合成制約条件、前記RTL記述及び前記ネットリストのバージョン情報を元にして属性情報を生成し、前記動作合成時における前記RTL記述の生成段階で前記属性情報を組み込むことを特徴とするネットリストバージョン検証方法。
【請求項２】
動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証方法において、
前記動作記述と前記動作合成制約条件のバージョン情報を管理するバージョン情報管理
ステップと、
前記複数のバージョン情報と新たに設定する他の属性情報とを組み合せて属性情報を生成する属性情報生成ステップと、
前記属性情報生成ステップにより生成される属性情報を用いて該属性情報を引き継いだRTL記述を生成する動作合成ステップと、
前記属性情報を引き継いだネットリストを生成する論理合成ステップとを有することを特徴とするネットリストバージョン検証方法。
【請求項３】
前記新たに設定する他の属性情報は、前記動作合成ステップによって生成されたRTL記述のバージョン及び前記論理合成ステップによって生成されたネットリストのバージョン及びRTL記述、ネットリストの作成日時情報、オプション情報によって設定されることを特徴とする請求項２に記載のネットリストバージョン検証方法。
【請求項４】
前記属性情報生成ステップは、テストパターンを用いて動作モードを切り替えて特定情報組み合わせ回路から読み出すことを特徴とする請求項２に記載のネットリストバージョン検証方法。
【請求項５】
前記属性情報生成ステップは、ネットリストデータの属性情報組み合せ回路に読み出し用のアドレスをマッピングさせてテストパターンを用いて読み出すことを特徴とする請求項２に記載のネットリストバージョン検証方法。
【請求項６】
動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証装置において、
前記動作記述、前記動作合成制約条件、前記RTL記述及び前記ネットリストのバージョン情報を元にして属性情報を生成し、前記動作合成時における前記RTL記述の生成段階で前記属性情報を組み込むように制御する制御手段を有することを特徴とするネットリストバージョン検証装置。
【請求項７】
動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証装置において、
前記動作記述と前記動作合成制約条件のバージョン情報を管理するバージョン情報管理手段と、
前記複数のバージョン情報と新たに設定する他の属性情報とを組み合せて属性情報を生成する属性情報生成手段と、
前記属性情報生成手段により生成される属性情報を用いて該属性情報を引き継いだRTL記述を生成する動作合成手段と、
前記属性情報を引き継いだネットリストを生成する論理合成手段とを有することを特徴とするネットリストバージョン検証装置。
【請求項８】
前記新たに設定する他の属性情報は、前記動作合成手段によって生成されたRTL記述のバージョン及び前記論理合成手段によって生成されたネットリストのバージョン及びRTL記述、ネットリストの作成日時情報、オプション情報によって設定されることを特徴とする請求項７に記載のネットリストバージョン検証装置。
【請求項９】
前記属性情報生成手段は、テストパターンを用いて動作モードを切り替えて特定情報組み合わせ回路から読み出すことを特徴とする請求項７に記載のネットリストバージョン検証装置。
【請求項１０】
前記属性情報生成手段は、ネットリストデータの属性情報組み合せ回路に読み出し用のアドレスをマッピングさせてテストパターンを用いて読み出すことを特徴とする請求項７に記載のネットリストバージョン検証装置。
【請求項１１】
請求項１乃至５のいずれかに記載のネットリストバージョン検証方法を実現するためのコンピュータ読み取り可能なプログラムコードを有することを特徴とする制御プログラム。
【請求項１２】
請求項１乃至５のいずれかに記載のネットリストバージョン検証方法を実現するためのコンピュータ読み取り可能なプログラムコードを保持することを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の処理動作を記述した動作記述を用いて半導体集積回路（LSI）のネットリストを生成する場合の動作記述に関する。特に、動作合成制約条件、RTL（レジスタトランスファーレベル）記述と、RTL記述を論理合成して得られるネットリストのバージョンを確認するネットリストバージョン検証方法及び装置及び制御プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
集積回路の設計は、実現すべき回路の動作をハードウェア記述言語（HDL）で記述し、論理合成システムや、人的変換作業によって、ゲート素子の接続情報を含むネットリストを生成する方法が採られてきた。
【０００３】
RTL記述には、特定の組み合わせ論理と順序回路の論理記述があり、これらの記述を組み合わせることにより所望の動作を実現する。このRTL記述を論理合成することにより、論理素子であるプリミティブセル（Primiteive-Cell）及びその相互接続情報から成るネットリストを生成していた（例えば、特許文献１参照）。
【０００４】
近年のように、プロセスの進化に伴い開発するLSIがシステム化すると、ランダムアクセスメモリ（RAM）やハードマクロ、プロセッサ（Processor）に加え、非常に多くの多種多様な機能ブロックが搭載されることとなり、機能実現のための設計データは膨大となってきている。従って、これらの設計データを効率良く生産することが必要不可欠となってきている。
【０００５】
設計データの生産性を向上させるための１つの手法としては、過去の設計資産をIP（Intellectual Property）コアとして再利用を進め、効率化を図るということがある。これにより、LSI開発での開発期間の短縮や、開発リソースの削減を実現する取り組みが既に行われている。
【０００６】
また、別の手法としては、設計データをRTL記述で生産するのではなく、RTL記述よりも抽象度の高いレベル、即ち、動作のみを記述した動作記述を用いて設計データを作成し、動作合成を行なうことで、設計データを得ることも検討されている。この手法では、従来、人手で設計していたRTL記述を、より短期間で開発することが可能となるため、設計フローに導入され始めている。
【０００７】
一般に、RTL記述の１行ステートメントは、複数のPrimiteive-Cellに対応するため、スケマティック入力やネットリスト記述よりも記述量を減らすことができる。更に、RTL記述よりも抽象度の高い動作記述では、RTL記述よりも更に記述量を減らすことができるため、設計者による設計データの生産性が向上するメリットがある。
【０００８】
動作記述では、動作のみを記述しているため、実際のLSI化に使用されるRTL記述やネットリストよりも、より広い範囲の処理性能をカバーするためである。その処理性能は、動作合成時の制約条件によって動作性能を絞り込んでいく。例えば、高速動作であるが面積の大きい処理ブロックを目標にする場合や、低速動作であるが面積の小さい処理ブロックを目標にする場合に、それぞれの動作合成制約条件を設定することによって回路を得る。
【０００９】
一般に、動作合成制約条件として設定できる項目は、機能ブロックの動作周波数や、使用可能な演算器数、演算ビット数等を与えることができ、これらの制約条件を組み合わせることによって、所望の設計データを得ることになる。
【００１０】
従来から使用されているRTL記述からネットリストを生成する論理合成手段では、制約条件を変更しても、ネットリストに含まれるフリップフロップ（Flip Flop）数を大きく変動させることは殆どないため、設計自由度は非常に狭い範囲であった。これに対し、動作記述では、同じ動作記述を使用しても、動作記述制約条件を変更すれば、ターゲットが全く異なるRTL記述の回路を容易に生成できる。このため、どのような動作記述を用いて、どのような動作合成制約条件で動作合成を実行し、どのようなRTL記述を生成したかという情報は、回路生成の重要な情報となる。
【００１１】
従って、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、更に、前記RTL記述から論理合成によって生成されるネットリストのバージョンの一元管理が重要となる。
【００１２】
そのため、従来は、動作記述からRTL記述を生成する手法を採る場合、動作記述からRTL記述を生成時に、ネットリストの元の設計データとなる動作記述のバージョン情報や、生成日時、機能ブロック名といった属性情報をRTL記述のコメント行に出力するといった方法や、それらの属性情報をRTLとは別のファイルに新たに生成して、そのファイルを管理するといった方法が採られていた。
【００１３】
図７は、従来装置において、動作記述から動作合成を行い、RTL記述を生成し、論理合成を行ってネットリストを生成する場合の動作を説明するための図である。
【００１４】
図７において、回路動作を記述した動作記述７００Aは、動作合成を実行するための動作合成制約条件７００Bと共に、動作合成手段に入力される。動作合成手段は、ステップＳ７０１で動作合成制約条件７００Bに書かれている制約条件に応じて、RTL記述７００Cを生成する。
【００１５】
動作合成制約条件７００Bの具体例としては、図８に示す様なパラメータがあり、所望の制約条件を設定して動作合成を実行する。
【００１６】
動作周波数は、動作記述の動作スピードを定義するもので、動作スピードを満足するように、RTL記述を出力する。
【００１７】
動作周波数が満足できない場合には、クリティカルパスの多段化や、パラレル処理を実行することによって、タイミングを満足するようなRTL記述を生成する。同様に、演算器の個数は、使用可能である演算器数を定義し、その制約条件内でRTL記述を生成する。
【００１８】
制約条件を満足できない場合には、スケジューリング等を行い、必要に応じて回路の多重化を行い、RTL記述を出力する。ビット数は、演算に使用するビット幅で、同様に制約条件として定義され、その制約条件を満足するようにRTL記述が生成される。面積、スピード優先の選択では、同じ演算器であっても、面積優先、スピード優先があるように、演算方法の選択を行って、目標に対応したRTL記述が出力される。
【００１９】
RTL記述７００Cには、動作合成制約条件７００Bで設定したパラメータの内容が情報としてRTL記述のコメント行に出力される。
【００２０】
図９は、RTL記述７００Cのコメント行への出力例を示す図であり、同図においては、動作周波数（frequency = 100[Mhz]）、演算器（arith = 15）、ビット幅（bitwidth = 8）、優先方法（面積優先）の処理が行なわれていることを示している。
【００２１】
また、別の方法では、RTL記述７００Cのコメント行に出力している内容を、別ファイルへ出力し、RTL記述７００Cのファイルと共に情報を管理する。
【００２２】
RTL記述７００Cは、論理合成制約条件７００Dと共に、論理合成手段に入力する。論理合成手段は、ステップＳ７０２でRTL記述７００Cからネットリスト７００Eに変換する。
【００２３】
図７の場合、動作記述７００A及び動作合成制約条件７００B等の情報は、RTL記述７００Cに引き継がれているが、RTL記述７００Cから論理合成手段を通してネットリスト７００Eに変換する場合には、その過程で前記情報が失われてしまう。このため、何らかの理由でRTL記述７００Cが書き換えられた場合には、生成したネットリスト７００Eと、動作記述７００A及び動作合成制約条件７００Bのバージョンが一義に決定できないことが有り得る。
【００２４】
また、論理合成においてプラグマ（pragma）情報を組み込んで、ネットリスト７００Eのファイルまで、動作記述７００A及び動作合成制約条件７００B等の情報を引き継ぐことができた場合でも、管理はファイルレベルである。よって、実際のLSI回路を構成している場合には、その情報を読み出すことができない。
【特許文献１】特開平７−２４９０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
上記のような従来装置においては、動作記述７００AからRTL記述７００Cへの変換の段階では属性情報として残るが、RTL記述７００Cからネットリスト７００Eへの変換の段階では属性情報が欠落してしまう。このため、最終的にLSI設計に使用されるネットリスト７００Eでは、動作記述７００Aのバージョンや、動作合成制約条件７００Dのバージョンを直接確認することが難しくなるという問題があった。
【００２６】
また、一度動作合成して生成したRTL記述７００Cを、他にIPとして提供するような場合には、動作合成の環境からファイル管理が外れてしまう。よって、その後、機能的な問題が発生して、RTL記述７００Cを修正した場合には、動作記述７００Aのバージョンや動作合成制約条件７００Dのバージョンとの整合性を正しく把握していても、修正したRTL記述７００Cとの一元管理が難しくなるという問題があった。
【００２７】
従来、外部ネットワーク側からセッションを開始することを可能とする方法には、静的ネットワークアドレストランスレーション（NAT：Network Address Translation)または静的マスカレードと呼ばれる方法がある。
【００２８】
これは、予め外部からアクセスするために必要なポート番号、内部ポート番号、内部IPアドレスの組等の情報をルータに登録しておく方法である。
【００２９】
しかし、この方法は、予め手動で情報を設定しておく必要がある。また、内部ネットワークに接続される機器が固定の場合は良いが、新たに内部ネットワークに機器が接続追加された場合には対応できない。
【００３０】
また、外部ネットワークであるワイドエリアネットワーク（WAN：wide area network）側端末から内部ネットワークであるローカルエリアネットワーク（LAN：local area network）側のサービス提供端末へのアクセスを可能とする方法として、ルータに内部（内部ネットワーク）接続機器のサービスを登録し、外部（外部ネットワーク）に公開する方法が知られている。
【００３１】
本発明の目的は、ネットリストのバージョンと、元の設計データである動作記述及び動作合成制約条件のバージョン、動作合成により生成されるRTL記述を容易に確認することができ、不具合原因追求の効率化が図れるネットリストバージョン検証方法及び装置及び制御プログラム及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００３２】
上記目的を達成するため、本発明のネットリストバージョン検証方法は、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証方法において、前記動作記述、前記動作合成制約条件、前記RTL記述及び前記ネットリストのバージョン情報を元にして属性情報を生成し、前記動作合成時における前記RTL記述の生成段階で前記属性情報を組み込むことを特徴とする。
【００３３】
また、上記目的を達成するため、本発明のネットリストバージョン検証方法は、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証方法において、前記動作記述と前記動作合成制約条件のバージョン情報を管理するバージョン情報管理ステップと、前記複数のバージョン情報と新たに設定する他の属性情報とを組み合せて属性情報を生成する属性情報生成ステップと、前記属性情報生成ステップにより生成される属性情報を用いて該属性情報を引き継いだRTL記述を生成する動作合成ステップと、前記属性情報を引き継いだネットリストを生成する論理合成ステップとを有することを特徴とする。
【００３４】
また、上記目的を達成するため、本発明のネットリストバージョン検証装置は、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証装置において、前記動作記述、前記動作合成制約条件、前記RTL記述及び前記ネットリストのバージョン情報を元にして属性情報を生成し、前記動作合成時における前記RTL記述の生成段階で前記属性情報を組み込むように制御する制御手段を有することを特徴とする。
【００３５】
また、上記目的を達成するため、本発明のネットリストバージョン検証装置は、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するネットリストバージョン検証装置において、前記動作記述と前記動作合成制約条件のバージョン情報を管理するバージョン情報管理手段と、前記複数のバージョン情報と新たに設定する他の属性情報とを組み合せて属性情報を生成する属性情報生成手段と、前記属性情報生成手段により生成される属性情報を用いて該属性情報を引き継いだRTL記述を生成する動作合成手段と、前記属性情報を引き継いだネットリストを生成する論理合成手段とを有することを特徴とする。
【００３６】
また、上記目的を達成するため、本発明の制御プログラムは、本発明のネットリストバージョン検証方法を実現するためのコンピュータ読み取り可能なプログラムコードを有することを特徴とする。
【００３７】
更に、上記目的を達成するため、本発明の記憶媒体は、本発明のネットリストバージョン検証方法を実現するためのコンピュータ読み取り可能なプログラムコードを保持することを特徴とする。
【発明の効果】
【００３８】
本発明によれば、前記動作記述、前記動作合成制約条件、前記RTL記述及び前記ネットリストのバージョン情報を元にして属性情報を生成し、前記動作合成時における前記RTL記述の生成段階で前記属性情報を組み込むことによって、動作記述のバージョン情報を含んだ属性情報を、RTL記述及びネットリストへと引き渡し、後からネットリストを参照しても、そのネットリストの元となる動作記述及び動作合成制約条件を一義に特定することができる。
【００３９】
よって、ネットリストのバージョンと、元の設計データである動作記述及び動作合成制約条件のバージョン、動作合成により生成されるRTL記述を容易に確認することができ、不具合原因追求の効率化が図れる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の一実施の形態について、図１乃至図６に基づき説明する。
【００４１】
図１は、本実施の形態に係るネットリストバージョン検証装置の構成を示すブロック図である。同図において、１００はネットリストバージョン検証装置で、動作合成に使用する動作記述、前記動作合成を実行して生成されたRTL（レジスタトランスファーレベル）記述、前記動作記述から所望のRTL記述を生成させる場合の動作合成制約条件、前記RTL記述から論理合成によって生成されるネットリストのバージョン情報を確認するものである。
【００４２】
ネットリストバージョン検証装置１００は、バージョン情報管理手段１０１、属性情報生成手段１０２、動作合成手段１０３及び論理合成手段１０４から成る。
【００４３】
バージョン情報管理手段１０１は、前記動作記述と前記動作合成制約条件のバージョン情報を管理する。属性情報生成手段１０２は、前記複数のバージョン情報と新たに設定する他の属性情報とを組み合せて属性情報を生成する。動作合成手段１０３は、前記属性情報生成手段１０４により生成される属性情報を用いて該属性情報を引き継いだRTL記述を生成する。論理合成手段１０４は、前記属性情報を引き継いだネットリストを生成する。
【００４４】
図２は、本実施の形態に係るネットリストバージョン検証装置１００において、動作記述から動作合成を行い、RTL記述を生成し、論理合成を行ってネットリストを生成する場合の動作を説明するための図である。同図において、２００Aは動作記述、２００Bは動作合成制約条件、２００CはRTL記述、２００Dは論理合成制約条件、２００Eはネットリスト、２００Fは他の属性情報である。
【００４５】
図２において、回路動作を記述した動作記述２００Aは、バージョン情報管理手段１０１及び動作合成手段１０３に入力される。また、動作記述２００Aを動作合成するための動作合成制約条件２００Bも、バージョン情報管理手段１０１及び動作合成手段１０３に入力される。
【００４６】
バージョン情報管理手段１０１は、ステップＳ２０１で動作記述２００A及び動作合成制約条件２００Bのバージョン情報を管理する。即ち、バージョン情報管理手段１０１では、各バージョンでの差分情報を保持してファイル内容の再現を可能とすると共に、バージョン番号を付加する。なお、動作合成制約条件２００Bのバージョン番号については、複数の制約条件項目が含まれるため、その内容を１つに纏めた形態でバージョン情報を管理する。バージョン情報管理手段１０１で付加された動作記述２００A及び動作合成制約条件２００Bのバージョン番号情報は、属性情報生成手段１０２に入力される。属性情報生成手段１０２は、ステップＳ２０２でバージョン情報管理手段１０１から入力された情報に加えて、他の属性情報２００FであるRTL単体でのバージョン情報領域と、NET単体でのバージョン情報領域とを合わせた形での情報を生成する。属性情報生成手段１０２で生成された属性情報は、動作合成手段１０３に入力される。動作合成手段１０３は、ステップＳ２０３で、属性情報がネットリストで実回路として構成されるようにRTL記述２００Cを生成する。
【００４７】
動作合成手段１０３で生成されたRTL記述２００Cは、論理合成手段１０４に入力される。また、論理合成制約条件２００Dも論理合成手段１０４に入力される。論理合成手段１０４は、ステップＳ２０４で論理合成を実行し、RTL記述２００Cからネットリスト２００Eを生成する。
【００４８】
RTL記述２００Cからネットリスト２００Eを生成する以降のフローについては、図７の従来例と同様の処理が行なわれる。
【００４９】
次に、属性情報生成手段１０２で生成される属性情報について、図３を用いて説明する。
【００５０】
属性信号は、図３に示すように、動作→RTL情報３０１、RTL情報３０２、NET情報３０３の領域に分かれる。
【００５１】
動作→RTL情報３０１の領域は、動作記述２００Aから動作合成によってRTL記述２００Cを生成する過程でのバージョン管理を行なうための領域である。また、動作→RTL情報３０１の領域は、図４（ａ）のように、更に４つの領域に分割され、動作記述２００Aのバージョン３０１１、動作合成制約のバージョン３０１２、日時情報３０１３及びオプション（Option）情報３０１４から構成される。
【００５２】
動作記述２００Aのバージョン３０１１及び動作合成制約のバージョン３０１２は、バージョン情報管理手段１０１で管理している情報を元に生成し、日時情報３０１３及びOption情報３０１４については、バージョン情報管理手段１０１とは独立して設定する。Option情報３０１４は、例えば、変更原因が機能変更によるものか、バグ修正によるものかを予め定義しておき、その変更内容の種類に基づき設定する。
【００５３】
RTL情報３０２の領域は、例えば、動作記述２００Aのバージョン３０１１〜Option情報３０１４を含む動作→RTL情報３０１を用いて、動作合成した後に生成されたRTL記述２００Cを他にリリースした後、RTL修正を行なった場合に、元のバージョンとの違いを明確にするため、動作合成により生成したRTL記述２００Cの修正を意味するバージョン情報を別領域として確保するものである。また、RTL情報３０２の領域は、図４（ｂ）のように、更に２つの領域に分割され、RTLバージョン３０２１及びオプション（Option）情報３０２２から構成される。Option情報３０２２については、Option情報３０１４と同等の内容を設定する。
【００５４】
NET情報３０３の領域についても、RTL情報３０２の領域と同様に、例えば、動作記述２００Aのバージョン３０１１〜Option情報３０１４及びRTLバージョン３０２１〜Option情報３０２２の情報を用いて、論理合成して生成したネットリスト２００Eに修正を加えた場合に、動作合成、論理合成後の修正を意味するバージョン情報を別領域として確保するものである。NET情報３０３の領域は、更に、図４（ｃ）のように、２つの領域に分割され、NETバージョン３０３１及びオプション（Option）情報３０３２から構成される。Option情報３０３２については、Option情報３０１４と同等の内容を設定する。
【００５５】
ここで、動作合成手段１０３で生成されるRTL記述２００Cには、前記説明した各領域（３０１，３０２、３０３）が確保されたRTL記述２００Cが生成される。このRTL記述２００Cには、特に、動作→RTL情報３０１の動作記述２００Aのバージョン３０１１〜Option情報３０１４が、RTL記述２００Cが生成された段階で書き換えられてはいけないため、論理合成をするとハードワイヤード回路が構成される記述として生成する。
【００５６】
以下、具体的にどのような記述が生成されるかについて、図５を用いて説明する。
【００５７】
図５では、属性情報生成手段１０２で生成された属性情報から動作合成することにより、RTL記述２００Cに“DISC_VER”、“CONST_VER“、”RTL_VER“、”NET_VER“が定義されている。
【００５８】
このうち“DISC_VER”、“CONST_VER“については、動作記述２００AからRTL記述２００Cを生成する動作合成段階で一義的にバージョンが決定され、ジェネリックパラメータ（Generic Parameter）値の固定値として設定される。このGeneric Parameter値を固定の属性値として組み合わせ回路から読み出すことによって、バージョン情報を確認することが可能となる。
【００５９】
更に、図５の”DISC_VER“というパラメータの採り得る値が０〜１５である場合には、４ビット幅で回路が構成される。パラメータ値として設定された属性情報は、インティガー（Integer）型から一度バイナリー（Binary）へと変換され、各ビットの信号が固定値の組み合わせ回路として構成される。更に、RTL記述２００Cがネットリスト２００Eに変換された場合に、各ビット信号の固定値が特定情報として外部で検証できるように、固定値の組み合わせ回路の論理出力をモードによって切り替えて外部へ出力する。
【００６０】
一方、RTL情報３０２及びNET情報３０３の領域では、RTL記述２００Cに修正があった場合にインクリメントされ、バージョンを示す値を設計者が変更することによって、そのバージョン情報を設定する。
【００６１】
以上の説明では、領域として動作→RTL情報３０１、RTL情報３０２及びNET情報３０３と３つの領域に分け、更に、その内部の領域を細かく分けているが、領域の設定値は、他の属性を数値化して組み合わせた情報でも、一意に決定できる情報であれば実現可能である。
【００６２】
図６に示すように、前記パラメータの採り得る値のMax値をBinaryに変換した場合の最大ビット数分を算出し、読み出し専用組み合わせ回路として生成されるように記述されている。
【００６３】
ネットリスト回路からの属性情報の読み出しでは、テストパターンを用いて、動作モードを切り替えて特定情報組み合わせ回路から読み出すことができる。また、動作の信号モニタ用に組み込まれる回路を共通バスの出力に兼用して出力するようにしても実現可能である。
【００６４】
こうしてネットリスト２００Eの内部に存在する属性情報組み合わせ回路の値をBinaryデータとして抽出することができる。この値をInteger型に変換することによって、バージョン情報を容易に確認することが可能となる。
【００６５】
以上のように、動作記述２００A、動作合成制約条件２００B、RTL記述２００C、ネットリスト２００Eのバージョンを元にした属性情報を、動作合成でのRTL記述の生成段階で組み込む。これにより、最終的に生成されるネットリスト２００Eでのバージョン確認が容易に行えるようになる。よって、作業が正確に行われていない場合や、情報漏れに起因する使用バージョンの差異のような初歩的な問題を早い段階で解決することができ、不具合の原因追求の効率化が図れる。
【００６６】
なお、本発明は、本実施の形態に限られるものではなく、本発明の主題に基づき、どのようなものであっても適用可能である。
【００６７】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、そのシステム又は装置のコンピュータ（又はCPUやMPU）が記憶媒体に格納されたプログラムコードを読出して実行することによっても達成されることは言うまでもない。
【００６８】
この場合、記憶媒体から読出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６９】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００７０】
また、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
また、上記プログラムは、上述した実施の形態の機能をコンピュータで実現することができれば良く、その形態は、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給されるスクリプトデータ等の形態を有するものでも良い。
【００７２】
また、プログラムを供給する記録媒体としては、例えば、RAM、NV-RAM、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、CD-RW、DVD（DVD-ROM、DVD-RAM、DVD-RW、DVD+RW）、磁気テープ、不揮発性のメモリカード、他のROM等の上記プログラムを記憶できるものであれば良い。
【００７３】
更に、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施の形態に係るネットリストバージョン検証装置の構成を示すブロック図である。
【図２】本発明の一実施の形態に係るネットリストバージョン検証装置の動作を説明するための図である。
【図３】本発明の一実施の形態に係るネットリストバージョン検証装置における属性情報の一例を示す図である。
【図４】本発明の一実施の形態に係るネットリストバージョン検証装置における動作記述→RTL記述での属性情報、RTL記述での属性情報及びネットリストでの属性情報の一例を示す図である。
【図５】本発明の一実施の形態に係るネットリストバージョン検証装置における動作記述→RTL記述での属性情報の付加例を示す図である。
【図６】本発明の一実施の形態に係るネットリストバージョン検証装置におけるパラメータの設定例を示す図である。
【図７】従来のネットリストバージョン検証装置の動作を説明するための図である。
【図８】従来のネットリストバージョン検証装置における高位合成制約条件の一例を示す図である。
【図９】従来のネットリストバージョン検証装置におけるRTL記述のコメント行への出力例を示す図である。
【符号の説明】
【００７５】
１００    ネットリストバージョン検証装置
１０１    バージョン情報管理手段
１０２    属性情報生成手段
１０３    動作合成手段
１０４    論理合成手段
２００A    動作記述
２００B    動作合成制約条件
２００C    RTL記述
２００D    論理合成制約条件
２００E    ネットリスト
２００F    他の属性情報
【図１】
2007087061.tif 000003
【図２】
2007087061.tif 000004
【図３】
2007087061.tif 000005
【図４】
2007087061.tif 000006
【図５】
2007087061.tif 000007
【図６】
2007087061.tif 000008
【図７】
2007087061.tif 000009
【図８】
2007087061.tif 000010
【図９】
2007087061.tif 000011