(57)【特許請求の範囲】
【請求項１】
ハードウェア記述言語を用いて集積回路がＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された設計情報を検証ツールにより検証するために、仕様記述言語で記述された前記集積回路の仕様を表すプロパティを生成するプロパティ自動生成装置であって、
複数のレジスタのうちのレジスタ群に関するプロパティ省略記述ファイルが与えられるアドレス展開部と、
前記複数のレジスタの各々を識別するレジスタ名が格納されたデータベースと、
を具備し、
前記レジスタ名は、文字列を表す階層インスタンス群を含み、
前記プロパティ省略記述ファイルには、
前記レジスタ群を識別し、前記階層インスタンス群を含む省略レジスタ名と、
前記省略レジスタ名の前記階層インスタンス群にそれぞれ対応するビット部群を含む省略アドレスと、
が記述され、
前記ビット部群の各々はビット列を表し、
前記省略レジスタ名の前記階層インスタンス群のうちの特定階層インスタンスは、前記文字列とは異なる記号を表し、
前記省略アドレスの前記ビット部群のうちの、前記特定階層インスタンスに対応する特定ビット部は、前記ビット列として、ビット数に対応する記号を表し、
前記アドレス展開部は、前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開してアドレス群を生成し、
前記プロパティ自動生成装置は、
前記データベースに格納された前記複数のレジスタの各々の前記レジスタ名の中から、前記プロパティ省略記述ファイルの前記省略レジスタ名の前記階層インスタンス群に対応し、且つ、前記特定階層インスタンス以外の階層インスタンスに一致する階層インスタンス群を含むレジスタ名を前記レジスタ名群として選択するＲＴＬ解析部と、
前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成するプロパティ生成部と、
を更に具備するプロパティ自動生成装置。
【請求項２】
前記アドレス展開部は、
前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開して、前記アドレス群を生成し、
前記アドレス群と前記プロパティ省略記述ファイルの前記省略レジスタ名とを対応付けて前記データベースに格納し、
前記ＲＴＬ解析部は、
前記データベースを参照して、前記複数のレジスタの各々の前記レジスタ名の中から、前記レジスタ名群を選択し、
前記レジスタ名群を表すリストを前記データベースに格納し、
前記プロパティ生成部は、
前記データベースを参照して、前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成する、
請求項１に記載のプロパティ自動生成装置。
【請求項３】
前記データベースを参照して、前記アドレス群と前記レジスタ名群とが対応しているか否かについてマッチングし、そのマッチング結果を前記データベースに格納するマッチング処理部、
を更に具備し、
前記プロパティ生成部は、
前記データベースを参照して、前記マッチング結果が、前記アドレス群と前記レジスタ名群とが対応していることを表す場合、前記プロパティを生成する、
請求項１又は２に記載のプロパティ自動生成装置。
【請求項４】
前記プロパティ生成部には、前記アドレス群と前記レジスタ名群とを対応付ける雛形プロパティが記述されたプロパティフォーマットファイルが与えられ、
前記プロパティ生成部は、
前記雛形プロパティに前記アドレス群と前記レジスタ名群とを記述して前記プロパティを生成する、
請求項１〜３のいずれかに記載のプロパティ自動生成装置。
【請求項５】
前記特定ビット部の個数がｎ（ｎは整数）により表され、ｎ個の前記特定ビット部のビット数がそれぞれＭ１〜Ｍｎ（Ｍ１〜Ｍｎは整数）により表される場合、
前記省略アドレスにより展開されるアドレスは、ｍ通り存在し、
【数１】
0004586864.tif 000003
前記アドレス展開部は、
前記省略アドレスに対して前記ｍ通りのアドレスを前記アドレス群として生成する、
請求項１〜４のいずれかに記載のプロパティ自動生成装置。
【請求項６】
ハードウェア記述言語を用いて集積回路がＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された設計情報を検証ツールにより検証するために、コンピュータプログラムが格納された記憶部と前記コンピュータプログラムを実行するＣＰＵとを備えたコンピュータが、仕様記述言語で記述された前記集積回路の仕様を表すプロパティを生成するプロパティ自動生成方法であって、
前記ＣＰＵが、複数のレジスタのうちのレジスタ群に関するプロパティ省略記述ファイルを入力する第１ステップと、
前記ＣＰＵが、前記複数のレジスタの各々を識別するレジスタ名をデータベースに格納する第２ステップと、
を具備し、
前記レジスタ名は、文字列を表す階層インスタンス群を含み、
前記プロパティ省略記述ファイルには、
前記レジスタ群を識別し、前記階層インスタンス群を含む省略レジスタ名と、
前記省略レジスタ名の前記階層インスタンス群にそれぞれ対応するビット部群を含む省略アドレスと、
が記述され、
前記ビット部群の各々はビット列を表し、
前記省略レジスタ名の前記階層インスタンス群のうちの特定階層インスタンスは、前記文字列とは異なる記号を表し、
前記省略アドレスの前記ビット部群のうちの、前記特定階層インスタンスに対応する特定ビット部は、前記ビット列として、ビット数に対応する記号を表し、
前記ＣＰＵが、前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開してアドレス群を生成する第３ステップと、
前記ＣＰＵが、前記データベースに格納された前記複数のレジスタの各々の前記レジスタ名の中から、前記プロパティ省略記述ファイルの前記省略レジスタ名の前記階層インスタンス群に対応し、且つ、前記特定階層インスタンス以外の階層インスタンスに一致する階層インスタンス群を含むレジスタ名を前記レジスタ名群として選択する第４ステップと、
前記ＣＰＵが、前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成する第５ステップと、
を更に具備するプロパティ自動生成方法。
【請求項７】
前記第３ステップは、
前記ＣＰＵが、前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開して、前記アドレス群を生成し、
前記ＣＰＵが、前記アドレス群と前記プロパティ省略記述ファイルの前記省略レジスタ名とを対応付けて前記データベースに格納し、
前記第４ステップは、
前記ＣＰＵが、前記データベースを参照して、前記複数のレジスタの各々の前記レジスタ名の中から、前記レジスタ名群を選択し、
前記ＣＰＵが、前記レジスタ名群を表すリストを前記データベースに格納し、
前記第５ステップは、
前記ＣＰＵが、前記データベースを参照して、前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成する、
請求項６に記載のプロパティ自動生成方法。
【請求項８】
前記ＣＰＵが、前記データベースを参照して、前記アドレス群と前記レジスタ名群とが対応しているか否かについてマッチングし、そのマッチング結果を前記データベースに格納する第６ステップ、
を更に具備し、
前記第５ステップは、
前記ＣＰＵが、前記データベースを参照して、前記マッチング結果が、前記アドレス群と前記レジスタ名群とが対応していることを表す場合、前記プロパティを生成する、
請求項６又は７に記載のプロパティ自動生成方法。
【請求項９】
前記ＣＰＵが、前記アドレス群と前記レジスタ名群とを対応付ける雛形プロパティが記述されたプロパティフォーマットファイルを入力するステップ、
を更に具備し、
前記第５ステップは、
前記ＣＰＵが、前記雛形プロパティに前記アドレス群と前記レジスタ名群とを記述して前記プロパティを生成する、
請求項６〜８のいずれかに記載のプロパティ自動生成方法。
【請求項１０】
前記特定ビット部の個数がｎ（ｎは整数）により表され、ｎ個の前記特定ビット部のビット数がそれぞれＭ１〜Ｍｎ（Ｍ１〜Ｍｎは整数）により表される場合、
前記省略アドレスにより展開されるアドレスは、ｍ通り存在し、
【数２】
0004586864.tif 000004
前記第３ステップは、
前記ＣＰＵが、前記省略アドレスに対して前記ｍ通りのアドレスを前記アドレス群として生成する、
請求項６〜９のいずれかに記載のプロパティ自動生成方法。
【請求項１１】
ハードウェア記述言語を用いて集積回路がＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された設計情報を検証ツールにより検証するために、仕様記述言語で記述された前記集積回路の仕様を表すプロパティを生成する処理を、ＣＰＵを備えたコンピュータに実行させるコンピュータプログラムであって、
前記ＣＰＵが、複数のレジスタのうちのレジスタ群に関するプロパティ省略記述ファイルを入力する第１ステップと、
前記ＣＰＵが、前記複数のレジスタの各々を識別するレジスタ名をデータベースに格納する第２ステップと、
を前記コンピュータに実行させ、
前記レジスタ名は、文字列を表す階層インスタンス群を含み、
前記プロパティ省略記述ファイルには、
前記レジスタ群を識別し、前記階層インスタンス群を含む省略レジスタ名と、
前記省略レジスタ名の前記階層インスタンス群にそれぞれ対応するビット部群を含む省略アドレスと、
が記述され、
前記ビット部群の各々はビット列を表し、
前記省略レジスタ名の前記階層インスタンス群のうちの特定階層インスタンスは、前記文字列とは異なる記号を表し、
前記省略アドレスの前記ビット部群のうちの、前記特定階層インスタンスに対応する特定ビット部は、前記ビット列として、ビット数に対応する記号を表し、
前記ＣＰＵが、前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開してアドレス群を生成する第３ステップと、
前記ＣＰＵが、前記データベースに格納された前記複数のレジスタの各々の前記レジスタ名の中から、前記プロパティ省略記述ファイルの前記省略レジスタ名の前記階層インスタンス群に対応し、且つ、前記特定階層インスタンス以外の階層インスタンスに一致する階層インスタンス群を含むレジスタ名を前記レジスタ名群として選択する第４ステップと、
前記ＣＰＵが、前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成する第５ステップと、
を更に前記コンピュータに実行させるコンピュータプログラム。
【請求項１２】
前記第３ステップは、
前記ＣＰＵが、前記プロパティ省略記述ファイルの前記省略アドレスと前記特定ビット部の個数と前記特定ビット部のビット数とに基づいて、アドレスを展開して、前記アドレス群を生成し、
前記ＣＰＵが、前記アドレス群と前記プロパティ省略記述ファイルの前記省略レジスタ名とを対応付けて前記データベースに格納し、
前記第４ステップは、
前記ＣＰＵが、前記データベースを参照して、前記複数のレジスタの各々の前記レジスタ名の中から、前記レジスタ名群を選択し、
前記ＣＰＵが、前記レジスタ名群を表すリストを前記データベースに格納し、
前記第５ステップは、
前記ＣＰＵが、前記データベースを参照して、前記アドレス群と前記レジスタ名群とを対応付ける前記プロパティを生成する、
請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記ＣＰＵが、前記データベースを参照して、前記アドレス群と前記レジスタ名群とが対応しているか否かについてマッチングし、そのマッチング結果を前記データベースに格納する第６ステップ、
を更に前記コンピュータに実行させ、
前記第５ステップは、
前記ＣＰＵが、前記データベースを参照して、前記マッチング結果が、前記アドレス群と前記レジスタ名群とが対応していることを表す場合、前記プロパティを生成する、
請求項１１又は１２に記載のコンピュータプログラム。
【請求項１４】
前記ＣＰＵが、前記アドレス群と前記レジスタ名群とを対応付ける雛形プロパティが記述されたプロパティフォーマットファイルを入力するステップ、
を更に前記コンピュータに実行させ、
前記第５ステップは、
前記ＣＰＵが、前記雛形プロパティに前記アドレス群と前記レジスタ名群とを記述して前記プロパティを生成する、
請求項１１〜１３のいずれかに記載のコンピュータプログラム。
【請求項１５】
前記特定ビット部の個数がｎ（ｎは整数）により表され、ｎ個の前記特定ビット部のビット数がそれぞれＭ１〜Ｍｎ（Ｍ１〜Ｍｎは整数）により表される場合、
前記省略アドレスにより展開されるアドレスは、ｍ通り存在し、
【数３】
0004586864.tif 000005
前記第３ステップは、
前記ＣＰＵが、前記省略アドレスに対して前記ｍ通りのアドレスを前記アドレス群として生成する、
請求項１１〜１４のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア記述言語を用いて集積回路がＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された設計情報を検証ツールにより検証するために、仕様記述言語で記述された集積回路の仕様を表すプロパティを生成するプロパティ自動生成装置に関する。
【背景技術】
【０００２】
集積回路（ＬＳＩ；Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）が設計されるとき、ハードウェア記述言語を用いてＬＳＩがＲＴＬで記述される。このＲＴＬで記述されたＬＳＩを表す設計情報と、仕様記述言語で記述されたＬＳＩの仕様を表すプロパティが、検証ツールに与えられる。検証ツールは、設計情報とプロパティとの等価性を検証する。
【０００３】
ＬＳＩは、同一品種のＲＴＬを複数使用するような回路構造（以後、１種Ｎ枚構造と省略）（Ｎは整数）を有している。このようなＬＳＩに対してプロパティを作成する場合、類似したパターンを多数記述する必要がある。例えば、ＬＳＩの１種Ｎ枚構造のうちの、1枚分の構造に対してプロパティを作成する場合でも、類似したパターンを多数記述する必要がある。このため、１種Ｎ枚構造に対してプロパティを作成する場合、多くの工数を要する。
【０００４】
従来よりも少ない工数でプロパティを作成することが望まれる。
【０００５】
ＲＴＬやプロパティに関連する技術について紹介する。
【０００６】
特開２００３−８５２２１号公報には、ＲＴＬ自動階層化システムが記載されている（特許文献１）。ＲＴＬ自動階層化システムは、ＲＴＬ解析手段と、ＲＴＬ出力手段とを備えている。ＲＴＬ解析手段は、第１のＲＴＬモジュールに記述された少なくとも１つの論理記述の入出力信号情報を各論理記述毎に生成する。ＲＴＬ出力手段は、各論理記述を、各論理記述の入出力信号情報を保存する階層インスタンスに変換し、第１のモジュールを、各階層インスタンスによって階層化された第２のＲＴＬモジュールに変換する。
【０００７】
特開２００６−２９３８９１号公報には、プロパティ変換装置が記載されている（特許文献２）。プロパティ変換装置は、ハードウェアの仕様を仕様記述言語で記述したプロパティ情報を論理的に等価な表現に変換するものである。このプロパティ変換装置は、構文情報格納手段と、構文解析手段と、プロパティ等価変換手段と、を備えることを特徴としている。構文情報格納手段は、プロパティ情報を構成する構成単位、等価変換を行う際の構成単位の変換順序、および構成単位と論理的に等価な等価表現を含むプロパティ構成単位情報が格納される。構文解析手段は、入力されるハードウェアの仕様を仕様記述言語で記述したプロパティ情報を、構文情報格納手段のプロパティ構成単位情報を参照して、文法的構造、構成単位および構成単位毎の等価表現を含む構文要素情報を作成する。プロパティ等価変換手段は、構文要素情報に基づいて、入力されたハードウェアのプロパティ情報を、所定の等価表現に変換した等価プロパティ情報を作成する。
【０００８】
特開２００２−１８２９２６号公報には、コンパイル方法が記載されている（特許文献３）。コンパイル方法は、ソースプログラムから固定長命令のオブジェクトコードを生成するものである。このコンパイル方法は、ソースプログラムにおいて全体として関連付けのない変数群に対するグループ化の指示を検出する処理と、グループ化の指示を検出したとき、その指示に基づいて変数群をグループ化する処理と、グループ化された変数の参照個所をソースプログラムから検出する処理と、検出された変数参照個所に対し、当該変数が属するグループに共通のベースアドレスに変数のオフセットアドレスを加えて当該変数参照を行うように、オブジェクトコードを生成する処理と、を含むことを特徴としている。
【０００９】
特開２００３−６２５６号公報には、論理回路の高位合成装置が記載されている（特許文献４）。論理回路の高位合成装置は、動作記述に基づいて論理回路を合成するものである。この高位合成装置は、配列変数解析部と、変数書き換え部とを具備している。配列変数解析部は、入力された動作記述中にある配列変数を解析して配列名およびその各アドレスに対応してそれぞれの仮想名を付けた配列変数解析データを生成する。変数書き換え部は、この配列変数解析データに基づき、動作記述から書き換え後動作記述を生成する。高位合成装置は、書き換え後動作記述に基づいて論理回路を高位合成することを特徴としている。
【００１０】
特開２００６−２５２４３８号公報には、検証支援装置が記載されている（特許文献５）。検証支援装置は、半導体パッケージを実装するものである。この検証支援装置は、入力手段と、指定手段と、検出手段と、を備えることを特徴としている。入力手段は、検証対象の論理回路記述情報の入力を受け付ける。指定手段は、検証対象において隣接する一対のクロックドメインのうち一方のクロックドメインからそれぞれデータを出力する２以上のレジスタを指定する。検出手段は、入力手段によって入力された検証対象の論理回路記述情報と、指定手段によって指定された２以上のレジスタとに基づいて、他方のクロックドメインにおいて収斂する単一のレジスタ（再収斂レジスタ）を検出する。
【００１１】
【特許文献１】特開２００３−８５２２１号公報
【特許文献２】特開２００６−２９３８９１号公報
【特許文献３】特開２００２−１８２９２６号公報
【特許文献４】特開２００３−６２５６号公報
【特許文献５】特開２００６−２５２４３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の課題は、従来よりも少ない工数でプロパティを作成することができるプロパティ自動生成装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明のプロパティ自動生成装置は、ハードウェア記述言語を用いて集積回路がＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された設計情報を検証ツールにより検証するために、仕様記述言語で記述された集積回路の仕様を表すプロパティを生成するものである。本発明のプロパティ自動生成装置は、アドレス展開部と、データベースと、を具備している。アドレス展開部には、複数のレジスタのうちのレジスタ群に関するプロパティ省略記述ファイルが与えられる。データベースには、複数のレジスタの各々を識別するレジスタ名が格納されている。レジスタ名は、文字列を表す階層インスタンス群を含んでいる。プロパティ省略記述ファイルには、省略レジスタ名と、省略アドレスと、が記述されている。省略レジスタ名は、レジスタ群を識別し、階層インスタンス群を含んでいる。省略アドレスは、省略レジスタ名の階層インスタンス群にそれぞれ対応するビット部群を含んでいる。ビット部群の各々はビット列を表している。省略レジスタ名の階層インスタンス群のうちの特定階層インスタンスは、文字列とは異なる記号を表している。省略アドレスのビット部群のうちの、特定階層インスタンスに対応する特定ビット部は、上記ビット列として、ビット数に対応する記号を表している。アドレス展開部は、プロパティ省略記述ファイルの省略アドレスと特定ビット部の数と特定ビット部のビット数とに基づいて、アドレスを展開して、アドレス群を生成する。プロパティ自動生成装置は、ＲＴＬ解析部と、プロパティ生成部と、を更に具備している。ＲＴＬ解析部は、データベースに格納された複数のレジスタの各々のレジスタ名の中から、プロパティ省略記述ファイルの省略レジスタ名の階層インスタンス群に対応し、且つ、特定階層インスタンス以外の階層インスタンスに一致する階層インスタンス群を含むレジスタ名をレジスタ名群として選択する。プロパティ生成部は、アドレス群とレジスタ名群とを対応付けるプロパティを生成する。
【発明の効果】
【００１４】
以上により、本発明のプロパティ自動生成装置は、従来よりも少ない工数でプロパティを作成することができる。例えば、ＬＳＩの１種Ｎ枚構造（上述の複数のレジスタ）のうちの、1枚分の構造（上述のレジスタ群）に対してプロパティを作成する場合、本発明の構成と上述のプロパティ省略記述ファイルにより、従来よりも少ない工数でプロパティを作成することができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、本発明の実施形態によるプロパティ自動生成装置について詳細に説明する。
【００１６】
［構成］
図１は、本発明の実施形態によるプロパティ自動生成装置の構成を示している。プロパティ自動生成装置は、コンピュータであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である実行部１１と、記録媒体である記憶部１２と、を具備している。記憶部１２には、実行部１１に実行させるためのコンピュータプログラム１３が記憶されている。実行部１１は、プロパティ自動生成装置が起動するときなどにコンピュータプログラム１３を記憶部１２から読み取って実行する。
【００１７】
集積回路（ＬＳＩ；Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）が設計されるとき、ハードウェア記述言語を用いてＬＳＩがＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述される。このＲＴＬで記述されたＬＳＩを表す設計情報と、仕様記述言語で記述されたＬＳＩの仕様を表すプロパティが、検証ツールに与えられる。検証ツールは、設計情報とプロパティとの等価性を検証する。
【００１８】
コンピュータプログラム１３は、設計情報を検証ツールにより検証するために、プロパティを生成する。そのコンピュータプログラム１３は、アドレス展開部１０１、ＲＴＬ解析部１０２、マッチング処理部１０３、プロパティ生成部１０４を含んでいる。記憶部１２は、データベース１０８を備えている。
【００１９】
［動作］
図２〜図７を用いて、本発明の実施形態によるプロパティ自動生成装置の動作を説明する。図２は、プロパティ自動生成装置の動作を示すフローチャートである。
【００２０】
アドレス展開部１０１には、図３に示されるようなプロパティ省略記述ファイル１０６が与えられる。即ち、アドレス展開部１０１は、プロパティ省略記述ファイル１０６を入力する。プロパティ省略記述ファイル１０６は、複数のレジスタのうちのレジスタ群に関する記述を表している。
【００２１】
ここで、ＬＳＩは、同一品種のＲＴＬを複数使用するような回路構造（以後、１種Ｎ枚構造と省略）（Ｎは整数）を有している。複数のレジスタはＬＳＩの１種Ｎ枚構造に対応し、レジスタ群は、１種Ｎ枚構造のうちの1枚分の構造に対応するものとする。
【００２２】
プロパティ省略記述ファイル１０６は、省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇと、省略アドレス００１  １０００  ｂｂ  ０  ｃ  ００１００と、を有している。
【００２３】
省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇは、レジスタ群を識別するものであり、階層インスタンス群３０１〜３０６を含んでいる。その階層インスタンス群３０１、３０２、３０３、３０４、３０５、３０６は、それぞれ、省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇの“ｔｏｐ”以下である“ｓｕｂ１ａ”、“ｓｕｂ２ａ”、“＊”、“ｓｕｂ４ａ”、“＊”、“ｓｕｂ６ａ”を表しているものとする。即ち、階層インスタンス群３０１〜３０６のうちの階層インスタンス（特定階層インスタンス）３０３、３０５は、文字列とは異なる記号＊を表している。
【００２４】
省略アドレス００１  １０００  ｂｂ  ０  ｃ  ００１００は、省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇの階層インスタンス群３０１〜３０６にそれぞれ対応するビット部群２０１〜２０６を含んでいる。ビット部群２０１〜２０６の各々は、ビット列を表している。そのビット部群２０１、２０２、２０３、２０４、２０５、２０６は、それぞれ、省略アドレス００１  １０００  ｂｂ  ０  ｃ  ００１００の“００１”、“１０００”、“ｂｂ”、“０”、“ｃ”、“００１００”を表しているものとする。
【００２５】
ビット部群２０１〜２０６のうちの、特定階層インスタンス３０３、３０５に対応するビット部（特定ビット部）２０３、２０５は、上記のビット列として、それぞれ、ビット数“２”、“１”に対応する記号を表している。例えば、記号としては、ビット数“２”、“１”に対応して、英文字ｂｂ、ｃが用いられる。記号ｂｂについては、ビット数が“２”であるため、連続する同じ英文字で表される。記号ｂｂ、ｃは、１文字が１ビットの変数として、０／１に展開される。
【００２６】
アドレス展開部１０１は、プロパティ省略記述ファイル１０６の省略アドレス００１  １０００  ｂｂ  ０  ｃ  ００１００と特定ビット部２０３、２０５の個数“２”と特定ビット部２０３、２０５のビット数“２”、“１”とに基づいて、アドレスを展開してアドレス群２０７を生成する。これについて具体的に説明する。
【００２７】
まず、特定ビット部の個数がｎ（ｎは整数）により表され、ｎ個の特定ビット部のビット数がそれぞれＭ１〜Ｍｎ（Ｍ１〜Ｍｎは整数）により表されるものとする。この場合、省略アドレスにより展開されるアドレスは、数１に示されるように、ｍ通り存在する。アドレス展開部１０１は、省略アドレスに対してｍ通りのアドレスをアドレス群２０７として生成する。
【数１】
0004586864.tif 000002
【００２８】
そこで、特定ビット部２０３のビット数は“２”であるため、特定ビット部２０３が表すビット列は、４通り存在する。即ち、００、０１、１０、１１である。また、特定ビット部２０５のビット数は“１”であるため、特定ビット部２０５が表すビット列は、２通り存在する。即ち、０、１である。この場合、特定ビット部２０３、２０５が表すビット列は、８｛ｍ＝２（２＋１）＝８｝通り存在する。即ち、特定ビット部２０３が表すビット列は、００、００、０１、０１、１０、１０、１１、１１であり、特定ビット部２０５が表すビット列は、０、１、０、１、０、１、０、１である。
【００２９】
これにより、アドレス展開部１０１は、省略アドレス００１  １０００  ｂｂ  ０  ｃ  ００１００に対して８通りのアドレスをアドレス群２０７として生成する。この場合、アドレス群２０７は、昇順で、
００１  １０００  ００  ０  ０  ００１００、
００１  １０００  ００  ０  １  ００１００、
００１  １０００  ０１  ０  ０  ００１００、
００１  １０００  ０１  ０  １  ００１００、
００１  １０００  １０  ０  ０  ００１００、
００１  １０００  １０  ０  １  ００１００、
００１  １０００  １１  ０  ０  ００１００、
００１  １０００  １１  ０  １  ００１００、
により表される。
【００３０】
アドレス展開部１０１は、アドレス群２０７とプロパティ省略記述ファイル１０６の省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇとを対応付けてデータベース１０８に格納する。
【００３１】
ＲＴＬ解析部１０２には、ＲＴＬ１０５が与えられる。即ち、ＲＴＬ解析部１０２は、ＲＴＬ１０５を入力する。ＲＴＬ解析部１０２は、ＲＴＬ１０５を解析して、設計情報として複数のレジスタの各々のレジスタ名をデータベース１０８に格納する。レジスタ名は、文字列を表す階層インスタンス群を含んでいる。
【００３２】
次に、ＲＴＬ解析部１０２は、指定したＴＯＰ階層以下の全レジスタ名を階層インスタンス名としてＴｒｅｅ構造上のリストにしてデータベース１０８に格納する。これについて具体的に説明する。
【００３３】
まず、ＲＴＬ解析部１０２は、データベース１０８を参照する。このとき、複数のレジスタの各々のレジスタ名の中から、省略レジスタ名ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／＊／ｓｕｂ４ａ／＊／ｓｕｂ６ａ／ｒ０＿ｒｅｇの階層インスタンス群３０１〜３０６に対応し、且つ、特定階層インスタンス３０３、３０５以外の階層インスタンス３０１、３０２、３０４、３０６に一致する階層インスタンス群を含むレジスタ名をレジスタ名群３０７として選択する。
【００３４】
この場合、図４に示されるように、レジスタ名群３０７は、昇順で、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ａ／ｓｕｂ４ａ／ｓｕｂ５ａ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ａ／ｓｕｂ４ａ／ｓｕｂ５ｂ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｂ／ｓｕｂ４ａ／ｓｕｂ５ａ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｂ／ｓｕｂ４ａ／ｓｕｂ５ｂ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｃ／ｓｕｂ４ａ／ｓｕｂ５ａ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｃ／ｓｕｂ４ａ／ｓｕｂ５ｂ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｄ／ｓｕｂ４ａ／ｓｕｂ５ａ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
ｔｏｐ／ｓｕｂ１ａ／ｓｕｂ２ａ／ｓｕｂ３ｄ／ｓｕｂ４ａ／ｓｕｂ５ｂ／ｓｕｂ６ａ／ｒ０＿ｒｅｇ、
により表されるものとする。
【００３５】
ＲＴＬ解析部１０２は、レジスタ名群３０７を表すリストをデータベース１０８に格納する。
【００３６】
マッチング処理部１０３は、データベース１０８を参照して、アドレス群２０７とレジスタ名群３０７とが対応しているか否かについてマッチングし、そのマッチング結果をデータベース１０８に格納する。このとき、アドレス群２０７とレジスタ名群３０７との個数が異なっていればエラーとする。
【００３７】
図５に示されるように、アドレス群２０７とレジスタ名群３０７とが昇順で並べられた場合、アドレス群２０７とレジスタ名群３０７とが対応しているものとする。
【００３８】
プロパティ生成部１０４には、図６に示されるようなプロパティフォーマットファイル１０７が与えられる。即ち、プロパティ生成部１０４は、プロパティフォーマットファイル１０７を入力する。プロパティフォーマットファイル１０７には、アドレス群とレジスタ名群とを対応付ける雛形プロパティが記述されている。図６に示されるように、雛形プロパティは、アドレスを記述するための変数５０１、レジスタ名を記述するための変数５０２を含んでいる。
【００３９】
プロパティ生成部１０４は、データベース１０８を参照する。データベース１０８に格納されたマッチング結果は、アドレス群２０７とレジスタ名群３０７とが対応していることを表している。この場合、プロパティ生成部１０４は、プロパティフォーマットファイル１０７の雛形プロパティの変数５０１、５０２に、それぞれ、データベース１０８に格納されたアドレス群２０７とレジスタ名群３０７とを記述し、図７に示されるようなプロパティ１０９を生成する。
【００４０】
なお、本実施形態では、簡略化のため、アドレス群とレジスタ名群とが昇順で一致している場合を例としているが、これに限定されない。アドレス群とレジスタ名群とが昇順でなくても、アドレス群とレジスタ名群とを対応付けるリストをデータベース１０８に用意することにより、本実施形態は適用できる。
【００４１】
［効果］
以上の説明により、本発明の実施形態によるプロパティ自動生成装置は、従来よりも少ない工数でプロパティを作成することができる。例えば、ＬＳＩの１種Ｎ枚構造（上述の複数のレジスタ）のうちの、1枚分の構造（上述のレジスタ群）に対してプロパティを作成する場合、本実施形態の構成と上述のプロパティ省略記述ファイル１０６により、従来よりも少ない工数でプロパティを作成することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態によるプロパティ自動生成装置の構成を示している。
【図２】本発明の実施形態によるプロパティ自動生成装置の動作を示すフローチャートである。
【図３】本発明の実施形態によるプロパティ自動生成装置の動作を説明するための図である。
【図４】本発明の実施形態によるプロパティ自動生成装置の動作を説明するための図である。
【図５】本発明の実施形態によるプロパティ自動生成装置の動作を説明するための図である。
【図６】本発明の実施形態によるプロパティ自動生成装置の動作を説明するための図である。
【図７】本発明の実施形態によるプロパティ自動生成装置の動作を説明するための図である。
【符号の説明】
【００４３】
１１    実行部（ＣＰＵ）、
１２    記憶部、
１３    コンピュータプログラム、
１０１    アドレス展開部、
１０２    ＲＴＬ解析部、
１０３    マッチング処理部、
１０４    プロパティ生成部、
１０５    ＲＴＬ、
１０６    プロパティ省略記述ファイル、
１０７    プロパティフォーマットファイル、
１０８    データベース、
１０９    プロパティ、
【図１】
0004586864.tif 000006
【図２】
0004586864.tif 000007
【図３】
0004586864.tif 000008
【図４】
0004586864.tif 000009
【図５】
0004586864.tif 000010
【図６】
0004586864.tif 000011
【図７】
0004586864.tif 000012