(57)【要約】【課題】上位階層構成変更の作業を減らすことを目的とする。【解決手段】各モジュールのインスタンス記述がキーワードを用いて記載されている１つ以上のインスタンス雛型ファイルと、上位階層の構成を表しているパラメータファイルと、を基にキーワード置換によってインスタンス記述を生成する生成手段と、生成手段で生成されたインスタンス記述を各言語の文法に則った記述に整理し、上位階層記述を出力する整理手段と、を有することによって課題を解決する。【選択図】図３
2013214278.tif 000002
【特許請求の範囲】
【請求項１】
各モジュールのインスタンス記述がキーワードを用いて記載されている１つ以上のインスタンス雛型ファイルと、上位階層の構成を表しているパラメータファイルと、を基にキーワード置換によってインスタンス記述を生成する生成手段と、
前記生成手段で生成されたインスタンス記述を各言語の文法に則った記述に整理し、上位階層記述を出力する整理手段と、
を有することを特徴とする上位階層記述生成装置。
【請求項２】
前記インスタンス雛型ファイルには、キーワード置換により指定した文字列に変換可能な部分と、指定した記述を指定した個数分繰り返し出力可能な部分との、２つが記載されており、
前記生成手段は、前記インスタンス雛型ファイルと、前記パラメータファイルと、を基にキーワード置換によってインスタンス記述を生成することを特徴とする請求項１記載の上位階層記述生成装置。
【請求項３】
前記パラメータファイルには、前記インスタンス雛型ファイル内のそれぞれのキーワードに対応する置換するべきパラメータ値が記載されており、
前記生成手段は、前記インスタンス雛型ファイルと、前記パラメータファイルと、を基にキーワード置換によってインスタンス記述を生成することを特徴とする請求項１又は２記載の上位階層記述生成装置。
【請求項４】
前記インスタンス雛型ファイルは、ハードウエア記述言語に則った記述が記載されており、
前記生成手段は、前記インスタンス雛型ファイルと、前記パラメータファイルと、を基にキーワード置換によってインスタンス記述を生成することを特徴とする請求項１乃至３何れか１項記載の上位階層記述生成装置。
【請求項５】
上位階層記述生成装置が実行する上位階層記述生成方法であって、
各モジュールのインスタンス記述がキーワードを用いて記載されている１つ以上のインスタンス雛型ファイルと、上位階層の構成を表しているパラメータファイルと、を基にキーワード置換によってインスタンス記述を生成する生成ステップと、
前記生成ステップで生成されたインスタンス記述を各言語の文法に則った記述に整理し、上位階層記述を出力する整理ステップと、
を含むことを特徴とする上位階層記述生成方法。
【請求項６】
コンピュータに、
各モジュールのインスタンス記述がキーワードを用いて記載されている１つ以上のインスタンス雛型ファイルと、上位階層の構成を表しているパラメータファイルと、を基にキーワード置換によってインスタンス記述を生成する生成ステップと、
前記生成ステップで生成されたインスタンス記述を各言語の文法に則った記述に整理し、上位階層記述を出力する整理ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位階層記述生成装置、上位階層記述生成方法及びプログラムに関する。
【背景技術】
【０００２】
本願において、「モジュール」とは、システムの構成要素を表しており、論理回路記述や検証用モデル・モニター等が挙げられる。また、「上位階層」とは、前記モジュールを組み合わせて作り上げることのできるシステムを表しており、ハードウエア記述言語と検証記述言語で記述される。
ハードウエア記述言語は、構成を変更する機能を備えている。例えばＶＨＤＬを例に構成変更機能を挙げると、ｇｅｎｅｒｉｃ  ｐａｒａｍｅｔｅｒは、バス幅の変更等が可能である。ｃｏｎｆｉｇｕｒａｔｉｏｎ文は、ａｒｃｈｉｔｅｃｔｕｒｅ部の置き換えが可能である。ｉｆ−ｇｅｎｅｒａｔｅ文は、記述の変更が可能である。
また、各モジュールに対して、他モジュールとの結合方法を記述したインフォメーション・パレットを基に、特定の回路を自動的に生成する技術が知られている（特許文献１）。
また、上位階層構成を変更する機能を備えたツールも存在する。例えばＡＴＲＥＮＴＡ社の１Ｔｅａｍ（商標）−ＧＥＮＥＳＩＳでは、上位階層を構成するのに必要なモジュール種の変更やモジュール数の増減に対応するために、接続方法やインスタンス方法が書かれたスクリプトを作成しておくことになっている。そして、このスクリプトにより、自動的に目的の上位階層記述を生成できるようになっている。
但し、ＶＨＤＬや１Ｔｅａｍ−ＧＥＮＥＳＩＳを使った上位階層の構築には、初めに最大構成を用意しておく必要がある。ここで、最大構成とは、上位階層の設計者等により作成されるものであり、また、前記設計者等が作り出したいと考えるすべての上位階層構成を包含する構成のことである。最大構成を用意しておくことにより、ある所望の構成を生成するには、最大構成作成時にその構成が含まれているはずであるから、最大構成から必要な構成要素を取捨選択することによって生成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０-１８７７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では上位階層構成の変更を可能にするために必要な準備の負荷が大きい課題がある。例えば、ＶＨＤＬや１Ｔｅａｍ−ＧＥＮＥＳＩＳにおいて、所望の構成が最大構成に含まれない場合、より具体的には想定以上の個数のモジュールが必要な場合や想定外の種類のモジュールが必要になった場合に、最大構成を再度作成する必要があるため、大きな負荷が発生する。一方、前記インフォメーション・パレットを基にした生成の場合、生成に必要な各条件を明確にする所定記述ルールがハードウエア記述言語とは別に用意されているために、各条件の記述・修正で誤りやすくなるため、大きな負荷が発生する。
【０００５】
本発明はこのような問題点に鑑みなされたもので、上位階層構成変更の作業を減らすことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の上位階層記述生成装置は、各モジュールのインスタンス記述がキーワードを用いて記載されている１つ以上のインスタンス雛型ファイルと、上位階層の構成を表しているパラメータファイルと、を基にキーワード置換によってインスタンス記述を生成する生成手段と、前記生成手段で生成されたインスタンス記述を各言語の文法に則った記述に整理し、上位階層記述を出力する整理手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、上位階層構成変更の作業を減らすことができる。
【図面の簡単な説明】
【０００８】
【図１】上位階層記述生成装置のハードウエア構成の一例を示す図である。
【図２】上位階層記述生成装置の機能構成等の一例を示す図である。
【図３】上位階層記述生成装置が作成可能な上位階層の一例を示す図である。
【図４】図３で示した上位階層のより詳細な接続関係を示す図である。
【図５】クロック生成モジュールに関するインスタンス雛型ファイルの一例を示す図である。
【図６】ＡＨＢマスターに関するインスタンス雛型ファイルの一例を示す図である。
【図７】ＡＨＢデコーダに関するインスタンス雛型ファイルの一例を示す図である。
【図８】２つのスレーブがデコーダに接続されている場合のキーワード置換の結果の一例を示す図である。
【図９】上位階層を生成するために用いるインスタンス雛型ファイルの１つであり、また、他のインスタンス雛型ファイル内には含まれていない記述を表現するためのファイルの一例を示す図である。
【図１０】パラメータファイルの一例を示す図である。
【図１１】キーワード置換部の処理の一例を示すフローチャートである。
【図１２】最終的に出力される上位階層のＶＨＤＬの記述の概要を示す図である。
【図１３】記述整理部の処理の一例を示すフローチャートである。
【図１４】モジュール追加方法を示すための新上位階層の構成を示す図である。
【図１５】ＡＨＢバスブリッジに関するインスタンス雛型ファイルの一例を示す図である。
【図１６】図１４の示す上位階層を本実施形態で作成するためのパラメータファイルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、上位階層記述生成装置のハードウエア構成の一例を示す図である。
ＣＰＵ２１０１は、装置全体の制御を司る。ＲＯＭ２１０２は、ブートプログラム等を記憶する。ＲＡＭ２１０３は、ＣＰＵ２１０１のワークエリアとして利用され、オペレーティングシステム（ＯＳ）、アプリケーションのプログラムを記憶する。
ハードディスクドライブ（ＨＤＤ）２１０４は、ＯＳ、上位階層記述を作成するためのアプリケーションのプログラム、及び、様々なデータを格納するためのである。
キーボード２１０５、マウス２１０６は、ユーザインタフェースとして機能する。
表示制御部２１０７は、内部にビデオメモリ及び表示コントローラを内蔵する。表示装置２１０８は、表示制御部２１０７からの映像信号を受信し、表示する。
インタフェース（Ｉ／Ｆ）２１０９は、各種外部デバイスと通信する。例えば、インタフェース（Ｉ／Ｆ）２１０９に外部メモリ２１１０を接続することで、本装置が作成したモジュール情報をその外部メモリ２１１０に書込むことになる。
上記構成において、本装置に電源が投入されると、ＣＰＵ２１０１はＲＯＭ２１０２に格納されたブートプログラムを実行し、ＨＤＤ２１０４に格納されたＯＳをＲＡＭにロードする。
その後、上位階層記述を作成するアプリケーションを起動することで、本装置が上位階層記述生成装置として機能することになる。
次に本実施形態の処理の概略を説明する。
本実施形態による上位階層作成フローは２段階から構成される。
１段目では、上位階層記述生成装置は、上位階層の作成環境を整備するため、インスタンス雛型ファイルを受信する。インスタンス雛型ファイルとは、上位階層の構成に含むことのできるモジュール毎に用意されているファイルであり、また、各モジュールと他モジュールとの接続に使用する雛型が各言語の文法に則った形で記述されているファイルのことである。インスタンス雛型ファイルは基本的に各言語の文法に則って信号宣言や接続を記述されるが、「キーワード置換により指定した文字列に変換可能な部分」と「指定した記述を指定した個数分繰り返し出力可能な部分」との２つは特別な記述方法で表現できるようになっている。上記の２つの使用目的は、前者の場合は具体的な信号名をインスタンス雛型ファイル作成時には把握できない場合等に用いられ、後者の場合は接続するモジュールの個数が事前にわからない場合等に用いられる。インスタンス雛型ファイルの記述例については、後述する。
２段目では、上位階層記述生成装置は、パラメータファイルを受信する。パラメータファイルとは、ユーザの作成したい上位階層の構成が書かれている表形式のファイルである。パラメータファイルの記述例については、後述する。そして、上位階層記述生成装置は、パラメータファイルとインスタンス雛型ファイル群の情報を基に、上位階層記述を作成する。
【００１１】
図２は、上位階層記述生成装置の機能構成等の一例を示す図である。
パラメータファイル１０１は、生成する上位階層の構成を示すためのファイルである。インスタンス雛型ファイル群１０２については後述する。キーワード置換部１０３は、インスタンス雛型ファイルのキーワード置換とマージを行う。中間ファイル１０４は、インスタンス雛型ファイルをキーワード置換した後の記述が単純に並べられているファイルである。記述整理部１０５は、中間ファイル１０４内にある単純に並べられた記述のうち、言語文法に則っていない部分を修正する。上位階層記述１０６は、最終的に生成される言語文法に則った上位階層記述である。
【００１２】
図３は、上位階層記述生成装置が作成可能な上位階層の一例を示す図である。本実施形態では、図３の上位階層を用いて説明を行う。本上位階層記述で使用する言語は、ハードウエア記述言語のＶＨＤＬと検証記述言語のe言語とを想定している。この上位階層は、ＡＨＢを用いて、２つのＭａｓｔｅｒと２つのＳｌａｖｅとを接続している。ここで、ＡＨＢとは、ＡＲＭ社が策定したＡＭＢＡ  ＡＨＢを想定している。２０１と２０２とは接続する２つのＡＨＢマスターを表している。２０３と２０４とは、接続する２つのＡＨＢスレーブを表している。２０５と２０６とは、ＡＨＢマスターとバスの接続に必要な信号を示している。２０７と２０８とは、ＡＨＢスレーブとバスの接続に必要な信号を示している。２０９は、バスを示していて、Ｍｕｘ、ＡＨＢアービタ、ＡＨＢデコーダの３モジュールから構成されている。２１０は、ＡＨＢスレーブモニターを表しており、ＡＨＢスレーブ２０３内部の入出力信号を読み取る。ＡＨＢスレーブモニター２１０に関する上位階層記述はe言語に則って記述され、それ以外はＶＨＤＬに則って記述される。
【００１３】
図４は、図３で示した上位階層のより詳細な接続関係を示す図である。図３と同一の構成要素に対しては同一符号を付している。３０１は、クロック生成モジュールを示している。３０２は、クロック生成モジュールに入力するｅｎａｂｌｅ信号を生成する信号で、本テストベンチでは常に１（ｅｎａｂｌｅ）を示している。３０３は、リセット生成モジュールを示している。３０４は、Ｍｕｘを示している。３０５は、ＡＨＢアービタを示している。３０６は、ＡＨＢデコーダを示している。また、３１１は、クロック生成モジュールと他のモジュールとの信号接続関係を示している。３１２は、リセット生成モジュールと他のモジュールとの信号接続関係を示している。３１３は、ＭｕｘとＡＨＢマスターとＡＨＢスレーブとの信号接続関係を示している。３１４は、ＡＨＢアービタとＡＨＢマスターとＡＨＢスレーブとの信号接続関係を示している。３１５は、ＡＨＢデコーダとＡＨＢスレーブとの信号接続関係を示している。３１６は、ＭｕｘとＡＨＢアービタとＡＨＢデコーダとの信号接続関係を表している。なお、本来のＡＨＢでは多くの信号を取り扱う必要があるのだが、本実施形態の説明では簡略化のため信号を絞って説明している。
【００１４】
図５は、クロック生成モジュール３０１に関するインスタンス雛型ファイルの一例を示す図である。４０１は、コンポーネント宣言を表している。また、４０２は、信号宣言を表している。また、４０３は、コンポーネント・インスタンス宣言を表している。本実施形態では、「キーワード置換により指定した文字列に変換可能な部分」を、"＜"と"＞"とで囲まれた部分として定義している。キーワード置換を使用している理由をより具体的に説明する。例えばクロック生成モジュールが複数必要で、それぞれ互いに異なるインスタンス名や信号名を用意する必要がある場合に、各クロック生成モジュールにＩＤを割り振り、図５のインスタンス雛型ファイルの"＜ＣＯＭＰＯＮＥＮＴ＿ＩＤ＞"の部分を前記ＩＤに置換する。こうすることで、互いに異なるインスタンス名や信号名を用意できるため、キーワード置換を使用している。
リセット生成モジュール３０３のインスタンス雛型ファイルは、クロック生成モジュール３０１のインスタンス雛型ファイルと同様の形式であるため省略する。
【００１５】
図６は、ＡＨＢマスター２０１、２０２に関するインスタンス雛型ファイルの一例を示す図である。５０１は、コンポーネント宣言を表している。また、５０２は、信号宣言を表している。また、５０３は、コンポーネント・インスタンス宣言を表している。本インスタンス雛型ファイルでは、"＜ＢＵＳ＿ＩＤ＞"と"＜ＣＯＭＰＯＮＥＮＴ＿ＩＤ＞"とを使ってコンポーネント・インスタンス宣言名を定めるようになっている。"＜ＢＵＳ＿ＩＤ＞"と"＜ＣＯＭＰＯＮＥＮＴ＿ＩＤ＞"とは、それぞれバスＩＤとマスターＩＤとにキーワード置換される。名前の定義にバスＩＤを使っている理由は、所望の上位階層が複数のバスを所有する場合に各バスを区別したいためである。また、名前の定義にマスターＩＤを使っている理由は、１つのバスの中に複数のマスターがある場合に各マスターを区別したいためである。クロック信号名とリセット信号名とは、本インスタンス雛型ファイル内の"＜ＣＬＯＣＫ＿ＩＤ＞"と"＜ＲＥＳＥＴ＿ＩＤ＞"との部分を各ＩＤで置換することにより求めることができるようになっている。
ＡＨＢスレーブ２０３、２０４のインスタンス雛型ファイルは、ＡＨＢマスター２０１、２０２のインスタンス雛型ファイルと同様の形式であるため省略する。また、検証記述言語のe言語に則って書かれるＡＨＢスレーブモニター２１０のインスタンス雛型ファイルは、信号やＡＨＢスレーブへのパス名の表現方法がＡＨＢマスター２０１、２０２のインスタンス雛型ファイルと同様の形式であるため省略する。
【００１６】
図７は、ＡＨＢデコーダ３０６に関するインスタンス雛型ファイルの一例を示す図である。６０１は、コンポーネント宣言を表している。また、６０２は、信号宣言と代入文とを表している。また、６０３は、コンポーネント・インスタンス宣言を表している。デコーダは複数のスレーブと接続する必要があるため、「指定した記述を指定した個数分繰り返し出力する部分」をインスタンス雛型ファイルに明記する必要がある。本実施形態では、「指定した記述を指定した個数分繰り返し出力する部分」を、"＜％ｄｕｐｌ・・・＞"と"＜％ｅｎｄ  ｄｕｐｌ．＞"とで囲まれた部分と定義している。また、本インスタンス雛型ファイル内の"＜％ｄｕｐｌ  ａｈｂ  ｓｌｖ＞"は、この部分をａｈｂバスのｓｌｖの個数分複製することを表している。その次のａｓｓｉｇｎ文は、デコーダからの出力が、ａｈｂバスのｓｌｖの各信号に代入されることを表している。例として、２つのスレーブがデコーダに接続されている場合のキーワード置換の結果を図８に示す。
ＭＵＸ３０４とＡＨＢアービタ３０５とのインスタンス雛型ファイルは、ＡＨＢデコーダ３０６のインスタンス雛型ファイルと同様の形式であるため省略する。
【００１７】
図９は、上位階層記述を生成するために用いるインスタンス雛型ファイルの１つであり、また、他のインスタンス雛型ファイル内には含まれていない記述を表現するためのファイルの一例を示す図である。本実施形態では、ＴＯＰのインスタンス雛型ファイルと呼ぶ。８０１は、ライブラリ宣言を示している。８０２は、ｅｎｔｉｔｙ宣言を示している。８０３は、クロックｅｎａｂｌｅ信号３０２の定義を示している。なお、このインスタンス雛型ファイルには、「キーワード置換により指定したキーワードに変換可能にする部分」や「指定した記述を指定した個数分繰り返し出力する部分」は含まれていない。
【００１８】
図１０は、パラメータファイル１０１の一例を示す図である。本実施形態では、パラメータファイルを表の形式としている。列９０１は、パラメータ名を表している。列９０２は、ＴＯＰのインスタンス雛型ファイルのパラメータ値を示している。列９０３は、クロック生成モジュール３０１のパラメータ値を表している。列９０４は、リセット生成モジュール３０３のパラメータ値を表している。列９０５は、ＭＵＸ３０４のパラメータ値を示している。列９０６は、ＡＨＢアービタ３０５のパラメータ値を表している。列９０７は、ＡＨＢデコーダ３０６のパラメータ値を表している。列９０８と列９０９とは、ＡＨＢマスター２０１と２０２とのパラメータ値を表している。列９１０と列９１１とは、ＡＨＢスレーブ２０３と２０４とのパラメータ値を表している。列９１２は、ＡＨＢスレーブモニター２１０のパラメータ値を表している。行９２１は、各モジュールに用いるインスタンス雛型ファイル名を表している。行９２２は、インスタンス雛型ファイルをパラメータを基にキーワード置換した後の出力先ファイル名を示している。９２３は、各モジュールのバス名・バスＩＤ・コンポーネント名・コンポーネントＩＤを示している。コンポーネントＩＤとは、マスターであればマスターＩＤのことで、図５で示したようなキーワード置換のために使われる。９２４、９２５、９２６、９２７は、インスタンス雛型ファイル内の「指定した記述を指定した個数分繰り返し出力する部分」を複製するために使われるパラメータである。例えば、列９０７は、ＡＨＢデコーダ３０６のモジュールのパラメータを示しているが、９２６と９２７との２か所でａｈｂ  ｓｌｖの情報が記述されている。したがって、図７の「指定した記述を指定した個数分繰り返し出力する部分」（"＜％ｄｕｐｌ・・・＞"と"＜％ｅｎｄ  ｄｕｐｌ．＞"とで囲まれた部分）は、２個複製される。行９２８と行９２９とは、それぞれ接続されているクロックＩＤとリセットＩＤとを示している。行９３０と行９３１とは、それぞれ接続されているＡＨＢマスターの個数とＡＨＢスレーブの個数とを表している。行９３２はデータ幅を表している。行９３３は、クロックの周期を表している。
【００１９】
図１１は、キーワード置換部１０３の処理の一例を示すフローチャートである。
Ｓ１００１において、キーワード置換部１０３は、パラメータファイル１０１を読み込む。
Ｓ１００２において、キーワード置換部１０３は、パラメータファイルに書かれている上位階層を構成するのに必要なモジュールのうち、まだインスタンス記述を生成していないモジュールが残っているかどうかを判定する。キーワード置換部１０３は、すべてのモジュールのインスタンス記述の生成が終わっていればキーワード置換部を終了する。
Ｓ１００３において、キーワード置換部１０３は、パラメータファイルに載っているモジュールのうち、まだインスタンス記述を生成していないモジュールを一つ選びだして、そのモジュールに対応するインスタンス雛型ファイルを読み込む。
Ｓ１００４において、キーワード置換部１０３は、インスタンス雛型ファイル内にある「キーワード置換により指定したキーワードに変換可能にする部分」を、指定された文字列にキーワード置換する。
Ｓ１００５において、キーワード置換部１０３は、インスタンス雛型ファイル内にある「指定した記述を指定した個数分繰り返し出力する部分」を、指定された個数分複製する。
Ｓ１００６において、キーワード置換部１０３は、Ｓ１００４とＳ１００５とで行った変換結果を、ファイルに出力する。この出力ファイルが、中間ファイル１０４である。
【００２０】
図１２は、最終的に出力される上位階層記述１０６のＶＨＤＬの記述の概要を示す図である。中間ファイル１０４を図１２の形式に変換するためのアルゴリズムを次に示す。
図１３は、記述整理部１０５のＶＨＤＬに関する処理の一例を示すフローチャートである。e言語に関しては、中間ファイル１０４の記述をそのまま上位階層記述として使用できるので、ここで処理は行わない。
Ｓ１２０１において、記述整理部１０５は、中間ファイル１０４を読み込む処理を行う。
Ｓ１２０２において、記述整理部１０５は、中間ファイル１０４からｌｉｂｒａｒｙ宣言をしている部分を全部抜き出してきて、出力ファイルに書き込む。
Ｓ１２０３において、記述整理部１０５は、中間ファイル１０４からｕｓｅ宣言をしている部分を全部抜き出してきて、出力ファイルの最後尾に追記する。
Ｓ１２０４において、記述整理部１０５は、中間ファイル１０４からｅｎｔｉｔｙ宣言をしている部分を全部抜き出してきて、出力ファイルの最後尾に追記する。
Ｓ１２０５において、記述整理部１０５は、"ａｒｃｈｉｔｅｃｔｕｒｅ  ｂｌｋ  ｏｆ  （ｅｎｔｉｔｙ名）  ｉｓ"という文字列を出力ファイルの最後尾に追記する。
【００２１】
Ｓ１２０６において、記述整理部１０５は、中間ファイル１０４からｓｉｇｎａｌ宣言をしている部分を全部抜き出してきて、出力ファイルの最後尾に追記する。但し、同一のｓｉｇｎａｌ宣言が複数あった場合は、記述整理部１０５は、１回だけの宣言に変更する。
Ｓ１２０７において、記述整理部１０５は、中間ファイル１０４からｃｏｍｐｏｎｅｎｔ宣言をしている部分を全部抜き出してきて、出力ファイルの最後尾に追記する。但し、同一のｃｏｍｐｏｎｅｎｔ宣言が複数あった場合は、記述整理部１０５は、１回だけの宣言に変更する。
Ｓ１２０８において、記述整理部１０５は、"ｂｅｇｉｎ"という文字列を出力ファイルの最後尾に追記する。
Ｓ１２０９において、記述整理部１０５は、中間ファイルからａｓｓｉｇｎ部を全部抜き出しきて、出力ファイルの最後尾に追記する。
Ｓ１２１０において、記述整理部１０５は、中間ファイル１０４から、上記以外の記述を抜き出してきて、出力ファイルの最後尾に追記する。
Ｓ１２１１において、記述整理部１０５は、"ｅｎｄ  ｂｌｋ；"という文字列を、出力ファイルの最後尾に追記する。この記述整理部１０５の処理により、出力ファイルは図１２の形式となるため、出力ファイルを上位階層記述１０６のＶＨＤＬの記述として使用することができる。
【００２２】
次に、図３や図４の上位階層に別のモジュールを追加する方法を説明することによって、本実施形態における上位階層構成変更の具体例を紹介する。本実施形態において新モジュール追加に必要な作業は、新モジュール用のインスタンス雛型ファイルの作成と、パラメータファイルの修正との２つのみである。また、インスタンス雛型ファイル作成の際に上位階層構成全体を考慮する必要はない。また、インスタンス雛型ファイルやパラメータファイルの記述内容のうち、新モジュール追加に関連しない部分は変更する必要がない。そのため、最小限の作業で上位階層構成の変更を行うことができる。
図１４は、モジュール追加方法を示すための新上位階層の構成を示す図である。図３と同一の構成要素に対しては、同一符号を付している。
１３０１は、図３におけるＡＨＢスレーブ２０４の位置であり、新上位階層における置き換え部分を示している。１３０２は、ＡＨＢバスブリッジＨ２Ｈを表しており、その機能は、ＡＨＢバス２０９ではＡＨＢスレーブとして動作し、後述するＡＨＢバス１３０６ではＡＨＢマスターとして動作する。１３０３は、ＡＨＢスレーブを表しており、ＡＨＢスレーブ２０３やＡＨＢスレーブ２０４と同様のものである。１３０４は、ＡＨＢマスターとバスとを繋ぐための信号を表しており、２０５や２０６と同様のものである。１３０５は、バスとＡＨＢスレーブとを繋ぐための信号を表しており、２０７や２０８と同様のものである。１３０６は、ＡＨＢバスを表しており、２０９と同様のものである。
【００２３】
図１５は、ＡＨＢバスブリッジ１３０２に関するインスタンス雛型ファイルの一例を示す図である。１４０１は、コンポーネント宣言を表している。また、１４０２は、信号宣言を表している。また、１４０３は、コンポーネント・インスタンス宣言を表している。ＡＨＢバスブリッジ１３０２は、バスブリッジのため、スレーブ用ポートとマスター用ポートとを持っている。ＡＨＢバスブリッジ１３０２を、ＡＨＢバス１３０６から見たときのＢＵＳ＿ＩＤとＣＯＭＰＯＮＥＮＴ＿ＩＤとを、本インスタンス雛型ファイルでは  ＢＵＳ＿ＩＤ２、ＣＯＭＰＯＮＥＮＴ＿ＩＤ２として表している。
【００２４】
図１６は、図１４の示す新上位階層を本実施形態で作成するためのパラメータファイルの一例を示す図である。図１０と同一の構成要素に対しては同一符号を付している。列１５０１は、ＡＨＢバスブリッジ１３０２に関するパラメータ値を表している。列１５０２は、９０５と同様に、ＡＨＢバス１３０６内のＭＵＸに関するパラメータ値を表している。列１５０３は、９０６と同様に、ＡＨＢバス１３０６内のＡＨＢアービタに関するパラメータ値を表している。列１５０４は、９０７と同様に、ＡＨＢバス１３０６内のＡＨＢデコーダに関するパラメータ値を表している。列１５０５は、ＡＨＢスレーブ１３０３に関するパラメータ値を表している。行１５１１は、ＡＨＢバスブリッジ１３０２がＡＨＢマスターとして接続しているＡＨＢバス１３０６のＢＵＳ＿ＩＤを示している。行１５１２は、ＡＨＢバスブリッジ１３０２がＡＨＢマスターとして接続しているＡＨＢバス１３０６からＡＨＢバスブリッジ１３０２を見たときのＣＯＭＰＯＮＥＮＴ＿ＩＤを示している。
上位階層構成の変更はインスタンス雛型ファイルの追加とパラメータファイルの修正とのみで可能であるため、図１４の上位階層の作成に必要な工程は、図１５のインスタンス雛型ファイルの追加及び図１６のパラメータファイルの修正のみである。このように、本実施形態によれば、最小限の作業で上位階層構成の変更を行うことができる。
【００２５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２６】
以上、上述した各実施形態によれば、上位階層構成変更の作業減らすことができる。
上記の理由を二つ挙げると、一つ目の理由は、構成変更に新たな種類のモジュールが必要になった場合でも、最大構成を必要とせず新たな種類のモジュールに対するインスタンス雛型ファイルを作ればよいからである。また、二つ目の理由は、インスタンス雛型ファイルの変更以外では、上位階層の構成を指定しているパラメータファイルの変更のみで上位階層構成の変更が可能であるからである。ここで、インスタンス雛型ファイルの作成が容易である理由は、インスタンス雛型ファイルはハードウエア記述言語の文法にほぼ則った形をしているので、インスタンス雛型ファイルの変更が必要になっても、容易に対応できるためである。
【００２７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２８】
１０１  パラメータファイル、１０２  インスタンス雛型ファイル、１０３  キーワード置換部、１０４  中間ファイル、１０５  記述整理部、１０６  上位階層記述
【図１】
2013214278.tif 000003
【図２】
2013214278.tif 000004
【図３】
2013214278.tif 000005
【図４】
2013214278.tif 000006
【図５】
2013214278.tif 000007
【図６】
2013214278.tif 000008
【図７】
2013214278.tif 000009
【図８】
2013214278.tif 000010
【図９】
2013214278.tif 000011
【図１０】
2013214278.tif 000012
【図１１】
2013214278.tif 000013
【図１２】
2013214278.tif 000014
【図１３】
2013214278.tif 000015
【図１４】
2013214278.tif 000016
【図１５】
2013214278.tif 000017
【図１６】
2013214278.tif 000018