(57)【要約】【課題】  Ｃ言語で記述されたアルゴリズムに基づいて、ＨＤＬ言語で記述されたＲＴレベルの回路を生成するにあたり、回路の小規模化を図ると共に、検証負荷を低減する。【解決手段】  Ｃ言語で記述されたファイルをＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに変換する情報処理方法であって、前記Ｃ言語で記述されたファイルに含まれる関数を抽出する抽出工程（ステップＳ２０１）と、前記抽出された関数に対応する、前記レジスタ・トランスファ・レベルの回路がデータベースに記憶されているか否かを判断する判断工程（ステップＳ２０２、２０３）と、データベースに記憶されていると判断された場合に、前記抽出された関数を、該データベースに記憶されていた回路により置き換えることで、前記レジスタ・トランスファ・レベルのファイルを生成する生成工程（ステップＳ２０５、２０６）とを備える。【選択図】  図２
2006171913.tif 000002
【特許請求の範囲】
【請求項１】
所定の言語で記述されたファイルをＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに変換する情報処理装置であって、
前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路を記憶する記憶手段と、
前記所定の言語で記述されたファイルを読み込み、該ファイルに含まれる関数を抽出する抽出手段と、
前記抽出手段により抽出された関数に対応する、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路が前記記憶手段に記憶されているか否かを判断する判断手段と、
前記判断手段により、前記記憶手段に記憶されていると判断された場合には、該記憶手段に記憶されていた回路を用いて、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成し、前記判断手段により、前記記憶手段に記憶されていないと判断された場合には、前記抽出手段により抽出された関数を、ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路に変換することにより、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記判断手段は、
前記抽出手段により抽出された関数の名称と同一の名称を有する回路が前記記憶手段に記憶されているか否かにより判断することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
所定の関数を指定する第１の指定手段を更に備え、前記生成手段は、前記判断手段により、前記記憶手段に記憶されていると判断された場合であって、かつ、該第１の指定手段により指定された関数に対応する場合に、前記記憶手段に記憶されていた回路を用いて、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記生成手段において、前記抽出手段により抽出された関数を、ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路に変換されることにより、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルが生成された場合、該変換されたレジスタ・トランスファ・レベルの回路を、前記記憶手段に登録する登録手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
所定の関数を指定する第２の指定手段を更に備え、前記登録手段は、前記変換されたレジスタ・トランスファ・レベルの回路のうち、該第２の指定手段において指定された関数に対応する回路について前記記憶手段に登録することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記所定の言語で記述されたファイルと、前記生成手段により生成された前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルとを表示する表示手段を更に備え、
前記表示手段は、前記所定の言語で記述されたファイルに含まれる関数と、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに含まれる回路との対応関係を明示可能であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
所定の言語で記述されたファイルをＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに変換する情報処理方法であって、
前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路を記憶手段に記憶する記憶工程と、
前記所定の言語で記述されたファイルを読み込み、該ファイルに含まれる関数を抽出する抽出工程と、
前記抽出工程により抽出された関数に対応する、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路が前記記憶手段に記憶されているか否かを判断する判断工程と、
前記判断工程により、前記記憶手段に記憶されていると判断された場合には、該記憶手段に記憶されていた回路を用いて、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成し、前記判断工程により、前記記憶手段に記憶されていないと判断された場合には、前記抽出工程により抽出された関数を、ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路に変換することにより、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成する生成工程と
を備えることを特徴とする情報処理方法。
【請求項８】
前記判断工程は、
前記抽出工程により抽出された関数の名称と同一の名称を有する回路が前記記憶手段に記憶されているか否かにより判断することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
所定の関数を指定する第１の指定工程を更に備え、前記生成工程は、前記判断工程により、前記記憶手段に記憶されていると判断された場合であって、かつ、該第１の指定工程により指定された関数に対応する場合に、前記記憶手段に記憶されていた回路を用いて、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記生成工程において、前記抽出工程により抽出された関数を、ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路に変換されることにより、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルが生成された場合、該変換されたレジスタ・トランスファ・レベルの回路を、前記記憶手段に登録する登録工程を更に備えることを特徴とする請求項７に記載の情報処理方法。
【請求項１１】
所定の関数を指定する第２の指定工程を更に備え、前記登録工程は、前記変換されたレジスタ・トランスファ・レベルの回路のうち、該第２の指定工程において指定された関数に対応する回路について前記記憶手段に登録することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記所定の言語で記述されたファイルと、前記生成工程により生成された前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルとを表示する表示工程を更に備え、
前記表示工程は、前記所定の言語で記述されたファイルに含まれる関数と、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに含まれる回路との対応関係を明示可能であることを特徴とする請求項７に記載の情報処理方法。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項１４】
請求項７乃至１２のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体デバイスの回路設計のために用いられるプログラミング言語である、ＨＤＬ言語（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ（ハードウェア記述言語））への変換技術に関するものである。
【背景技術】
【０００２】
従来、半導体デバイスの回路設計においては、専用のプログラミング言語であるＨＤＬ言語を用いられてきた。一方で、アルゴリズム開発においてはＣ言語が用いられるケースが多かった。このため、これまでは一旦Ｃ言語を用いてアルゴリズム開発を行った後、ハードウエア化の際にアーキテクチャ検討を行った上で、当該Ｃ言語により開発されたアルゴリズムをＨＤＬ言語に再度書き直す必要があった。
【０００３】
一方、半導体プロセス技術の発展に伴い、近年、実現可能な回路規模は急速に増大してきた。しかしながら上述した設計手法では、回路設計のための人手を増やしたとしても、増大した回路規模に対応するには限界があった。このため新しい手法による回路設計の生産性の向上が望まれていた。
【０００４】
このような背景のもと、Ｃ言語で記述された動作レベルのアルゴリズムをＨＤＬ言語で記述されたＲＴレベル（レジスタ・トランスファ・レベル）の回路に変換する動作合成機能を有する動作合成装置が提案され、一部で実用化され始めている。
【特許文献１】特開２００３−１７３２７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、抽象度の高いＣ言語を用いて記述された動作レベルのアルゴリズムをＨＤＬ言語で記述されたＲＴレベルの回路に変換した場合、直接ＨＤＬ言語で記述された回路に比べて回路規模が大きくなってしまうという問題があった。また、ＨＤＬ言語で記述されたＲＴレベルの回路は可読性が低いため、動作合成装置により生成された回路が機能面、品質面で所望の回路であるのかをＨＤＬ言語による記述からでは判断できず、動作検証を行わなければならないという問題もあった。
【０００６】
本発明は上記課題に鑑みてなされたものであり、所定の言語で記述された動作レベルのアルゴリズムに基づいて、ＨＤＬ言語で記述されたＲＴレベルの回路を生成するにあたり、回路の小規模化を図ると共に、検証負荷を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
所定の言語で記述されたファイルをＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルに変換する情報処理装置であって、
前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路を記憶する記憶手段と、
前記所定の言語で記述されたファイルを読み込み、該ファイルに含まれる関数を抽出する抽出手段と、
前記抽出手段により抽出された関数に対応する、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路が前記記憶手段に記憶されているか否かを判断する判断手段と、
前記判断手段により、前記記憶手段に記憶されていると判断された場合には、該記憶手段に記憶されていた回路を用いて、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成し、前記判断手段により、前記記憶手段に記憶されていないと判断された場合には、前記抽出手段により抽出された関数を、ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルの回路に変換することにより、前記ＨＤＬ言語で記述されたレジスタ・トランスファ・レベルのファイルを生成する生成手段とを備える。
【発明の効果】
【０００８】
所定の言語で記述された動作レベルのアルゴリズムに基づいて、ＨＤＬ言語で記述されたＲＴレベルの回路を生成するにあたり、回路の小規模化を図ると共に、検証負荷を低減することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、必要に応じて添付図面を参照しながら本発明の実施形態を詳細に説明する。
【００１０】
［第１の実施形態］
＜動作合成装置の構成＞
本発明の一実施形態にかかる動作合成装置（情報処理装置）の構成を図１を用いて説明する。図１において、１０１は制御メモリ（ＲＯＭ）、１０２は中央演算処理装置、１０３はメモリ（ＲＡＭ）、１０４は入力装置、１０５は表示装置、１０６は外部記憶装置、１０９はバスである。本実施形態にかかる動作合成機能を実現するための制御プログラム（動作合成プログラム１０７）やその制御プログラムで用いるデータ（ＨＤＬ資産）により構成されるデータベース１０８は、外部記憶装置１０６に記憶される。これらの制御プログラムやデータは、中央演算処理装置１０２の制御のもと、バス１０７を通じて適宜メモリ１０３に取り込まれ、中央演算処理装置１０２によって実行される。
【００１１】
＜動作合成装置における動作合成処理の流れ＞
図２は本発明の一実施形態にかかる動作合成装置において、回路設計の対象となる動作レベルのアルゴリズムをＣ言語で記述した「Ｃ言語動作レベル記述ファイル」からＨＤＬ言語で記述された「ＨＤＬ言語ＲＴレベル記述ファイル」を生成する動作合成処理の手順を示したフローチャートである。
【００１２】
同図に示すように、ステップＳ２０１では、まずＣ言語動作レベル記述ファイルを読み込む。このＣ言語動作レベル記述ファイルは、具体的な回路をＨＤＬ言語で記述したものと同様のものをＣ言語で記述したものであってもよいし、抽象度を上げて記述したものであっても構わない。また、Ｃ言語動作レベル記述ファイルにおいて用いられるＣ言語は、一般のＡＮＳＩ―Ｃに準拠したＣ言語で良い。従ってこのＣ言語動作レベル記述ファイルはアルゴリズム開発時に検討用に記述されたものであってもそのまま使用できる。
【００１３】
ステップＳ２０２では、上記Ｃ言語動作レベル記述ファイル内において、「ｆｕｎｃｔｉｏｎ」で定義されている関数を抽出し、当該抽出された関数と同一名称の回路がないかＨＤＬ資産（ＨＤＬ言語で記述されたＲＴレベルの回路）のデータベース１０８を検索する。
【００１４】
ステップＳ２０２におけるデータベース１０８検索の結果、抽出された関数と同一名称のＨＤＬ資産がデータベース１０８内にあると判断された場合には（ステップＳ２０３において「Ｙｅｓ」の場合には）、ステップＳ２０５に進み、当該ＨＤＬ言語で記述されたＲＴレベルの回路を選択しインスタンスする。
【００１５】
一方、ステップＳ２０２におけるデータベース１０８検索の結果、抽出された関数と同一名称のＨＤＬ資産がデータベース１０８内にないと判断された場合には（ステップＳ２０３において「Ｎｏ」の場合には）、ステップＳ２０４に進み、通常の動作合成により、Ｃ言語動作レベル記述ファイルより抽出された関数を、ＨＤＬ言語で記述されたＲＴレベルの回路へと変換する。
【００１６】
ステップＳ２０６では、このようにして得られた各関数毎のＲＴレベルの回路を用いて各回路間の接続を動作合成し、ＨＤＬ言語ＲＴレベル記述ファイルを生成する。
【００１７】
＜動作合成処理の具体例＞
図３は上記動作合成処理におけるＣ言語動作レベル記述ファイル、ＨＤＬ言語ＲＴレベル記述ファイル、データベースの関係を具体的に示した図である。同図において３０１はＣ言語動作記述ファイルの一例を、３０２はＨＤＬ言語ＲＴレベル記述ファイルの一例を、１０８はＨＤＬ言語で記述され、すでに回路としての実績をもつＨＤＬ言語で記述されたＲＴレベルの回路のデータベースの一例をそれぞれ示している。以下、同図を用いて上記動作合成処理の詳細を説明する。
【００１８】
同図に示すように、Ｃ言語動作レベル記述ファイル３０１から「ｆｕｎｃｔｉｏｎ」で定義されている関数を抽出し、各々データベース１０８内に同一名称で登録されているＨＤＬ資産（ＨＤＬ言語で記述されたＲＴレベルの回路）がないかを検索する。そして検索結果に従って回路置換によりＨＤＬ言語で記述されたＲＴレベルの回路を生成するか、動作合成によりＨＤＬ言語で記述されたＲＴレベルの回路を生成するかを切り替える。
【００１９】
Ｃ言語動作レベル記述ファイル３０１内において「ｆｕｎｃｔｉｏｎ」で定義された、“ＩＰ＿Ａ３、ＩＰ＿Ｂ５”については、データベース１０８に同一名称のＨＤＬ資産（ＨＤＬ言語で記述されたＲＴレベルの回路）が存在するので、ＨＤＬ言語ＲＴレベル記述ファイル３０２の生成にあたり、データベース１０８上の対応する回路をインスタンスすることとし、動作合成は行わない（３０３、３０４参照）。
【００２０】
一方、Ｃ言語動作レベル記述ファイル３０１内において「ｆｕｎｃｔｉｏｎ」で定義された、“ＩＰ＿Ａ９、ＩＰ＿Ｃ３”については、データベース１０８内に同一名称のＨＤＬ資産（ＨＤＬ言語で記述されたＲＴレベルの回路）が存在しないので、動作合成を行うことによりＨＤＬ言語で記述されたＲＴレベルの回路を生成する（３０５、３０６参照）。
【００２１】
次にＣ言語動作レベル記述ファイル３０１における各ｆｕｎｃｔｉｏｎの引数と返り値に関する記述等からＨＤＬ言語ＲＴレベル記述ファイル３０２における各回路間の接続を決定し、最終的なＨＤＬ言語ＲＴレベル記述ファイル３０２を完成する。
【００２２】
なお、ここでデータベース１０８に蓄積されたＨＤＬ資産はアーキテクチャ設計を行い、最初からＨＤＬ言語によって記述されたＲＴレベルの回路であっても、以前に動作合成装置によりＣ言語動作レベル記述ファイルから動作合成されたものであってもどちらでも構わない。
【００２３】
前者の場合には動作合成の困難な部分での動作合成装置のハングアップや非実用的な回路生成による開発効率の低下を防ぎ、直ちに実用的な回路の生成が実現できる。また、後者の場合には動作合成時間の短縮がはかられる。いずれの場合も効率的なハードウエア自動設計を行うことができる。
【００２４】
＜動作合成装置のＧＵＩ＞
図４は本発明の一実施形態にかかる動作合成装置の表示装置１０５に表示されるＧＵＩの一部を示した図である。同図において画面（４００）の上部にはファイルの入出力関係、動作合成の終了等を行うための“ファイル”ボタン（４０１）、動作合成の諸設定を行うための“設定”ボタン（４０２）、動作合成処理を行うための“動作合成”ボタン（４０３）のほか“レポート”ボタン（４０４）、“管理”ボタン（４０５）、“ヘルプ”ボタン（４０６）が用意されている。
【００２５】
さらに、中段には動作合成処理対象となるＣ言語動作レベル記述ファイル、出力ファイルであるＨＤＬ言語ＲＴレベル記述ファイル、動作合成処理の前提となるクロック周波数、動作合成処理に使用する演算器ライブラリ、メモリのライブラリ、動作合成処理の制約となる演算器制約ファイル、メモリの各制約ファイルが表示されるようになっている（４０７参照）。
【００２６】
また、下段には動作合成対象となるＣ言語動作レベル記述ファイルを表示するための“Ｃ表示”ボタン（４０８）、動作合成されたＨＤＬ言語ＲＴレベル記述ファイルを表示するための“ＨＤＬ表示”ボタン（４０９）が用意され、クリックすることにより各々ソースコードが表示されるようになっている。更に“合成オプション”ボタン（４１０）、“回路置換オプション”ボタン（４１１）、“回路登録オプション”ボタン（４１２）が用意され、各々詳細な設定ができるようになっている。
【００２７】
図５は上述した“ファイル”ボタン（４０１）に含まれる内容の一部を示したものであり（５０１参照）、“合成対象ファイルを開く（Ｏ）．．．”を選択すると動作合成処理の対象となるファイル（Ｃ言語動作レベル記述ファイル）を特定するためのＧＵＩが現われ、指示に沿って操作することにより動作合成処理の対象となるファイル（ＨＤＬ言語ＲＴレベル記述ファイル）を特定することができる。同様に“名前を付けて保存（Ａ）．．．”を選択し、指示に沿って操作することにより出力ファイルを指定することができる。
【００２８】
図６は上述した“設定”ボタン（４０２）に含まれる内容の一部を示したものであり（６０１参照）、“ＨＤＬ選択”を選択し、指示に沿って操作することにより出力するＨＤＬ言語ＲＴレベル記述ファイルを指定することができる。同様に“ＣＬＫ周波数”を選択し、指示に沿って操作することにより動作合成処理の前提となるクロック周波数を指定することができる。さらに、“演算器ライブラリ”、“メモリライブラリ”では動作合成処理の前提となる演算器及びメモリのライブラリを指定でき、“演算器制約ファイル”、“メモリ制約ファイル”では動作合成処理の前提となる演算器及びメモリの制約ファイルを指定することができる。
【００２９】
図７は“ファイル”ボタン（４０１）において動作合成処理の対象となるＣ言語動作レベル記述ファイルと出力ファイルとを決定し、また、“設定”ボタン（４０２）によって出力するＨＤＬ言語ＲＴレベル記述ファイルおよび動作合成処理の前提条件となるクロック周波数を決定し、画面中段に表示させた場合の一例を示している（４０７参照）。
【００３０】
図８は図４に示した画面（４００）を介して動作合成処理を行った後、“Ｃ表示”ボタン（４０８）“ＨＤＬ表示”ボタン（４０９）をクリックしたときに現われるポップアップウインドウの様子を示した図である（８０１は“Ｃ表示”ボタン４０８をクリックしたときに現れるポップアップウィンドウを、８０２は“ＨＤＬ表示”ボタン４０９をクリックしたときに現れるポップアップウィンドウをそれぞれ表している）。ここではＣ言語で記述されているＣ言語動作レベル記述ファイルの一部（８０１の網掛け部分）を指定するとＨＤＬ言語で記述されているＨＤＬ言語ＲＴレベル記述ファイルにおいて、対応する部分（８０２の網掛け部分）がハイライト表示され、逆にＨＤＬ言語で記述されているＨＤＬ言語ＲＴレベル記述ファイルの一部（８０２の網掛け部分）を指定するとＣ言語で記述されているＣ言語動作レベル記述ファイルにおいて、対応する部分（８０１の網掛け部分）がハイライト表示されるようになっている。
【００３１】
図９、図１０は、“動作合成”ボタン（４０３）が選択されることにより表示される動作合成ウィンドウの一部を示したものである。データベース１０８上に同一名称のＨＤＬ資産があった場合に自動的に回路置換する場合は、図９に示すようにウィンドウ９０２において“自動”をクリックすることにより、自動的に回路置換が行われる。
【００３２】
一方、特定のｆｕｎｃｔｉｏｎで定義された関数のみデータベース１０８上のＨＤＬ資産によって置換したい場合は、図１０に示すようにウィンドウ１００２において“指定”をクリックし、サブウインドウ１００３内に関数名（回路名）を記入することにより回路置換する関数を指定することができる。
【００３３】
同様に、図１１、図１２は“動作合成”ボタン（４０３）が選択されていることにより表示される動作合成ウィンドウの一部を示したものである。本実施形態にかかる動作合成装置では、Ｃ言語により記述されたＣ言語動作レベル記述ファイルを動作合成処理して得られたＨＤＬ言語ＲＴレベル記述ファイルをデータベース１０８に登録する際の登録方法を選択できるようになっており、図１１のウィンドウ１１０２において“自動”をクリックすることにより、生成されたＨＤＬ言語ＲＴレベル記述ファイル内の回路が自動的にデータベース１０８に登録される。
【００３４】
また、ウィンドウ１１０２において“上書きしない”をクリックすることにより、生成されたＨＤＬ言語ＲＴレベル記述ファイルと同一名称の回路がデータベース１０８にすでに存在している場合、新たに生成されたＨＤＬ言語ＲＴレベル記述ファイルの回路はデータベース１０８に登録されない。
【００３５】
また、ウィンドウ１１０２において“指定”をクリックし、サブウインドウ１２０１に登録するＨＤＬ言語ＲＴレベル記述ファイルの回路のみ記入すると、ＩＰ＿Ａ９のみ登録し、同時に生成されたＩＰ＿Ｃ３は登録されない。また、ウィンドウ１１０２において“上書きする”をクリックすることにより、仮に同一名称のＨＤＬ言語ＲＴレベル記述ファイルの回路がデータベース１０８に存在した場合であっても、新たに生成された回路ＩＰ＿Ａ９がデータベース１０８に登録され、これまで登録されていた回路ＩＰ＿Ａ９は削除される。
【００３６】
このように本実施形態ではＣ言語動作レベル記述ファイルの関数単位で、データベース内の回路による置換を行うか、動作合成装置による動作合成を行うかを、自動的に、または適宜指定により選択できるので、動作合成時間の短縮及び回路の最適化・小規模化が効率よく行うことが可能となる。また、回路置換に用いられる回路は実績がある回路であるため、検証負荷が大幅に低減できる。
【００３７】
以上説明したように本実施形態では、Ｃ言語動作レベル記述ファイルに含まれる関数単位でデータベース内の回路による置換と動作合成装置による動作合成とを使い分けることにより、より実用的な回路を速くくみ上げることが可能になる。また、回路としての使用実績に応じて従来のＨＤＬ資産が生かせるので、データベースが充実するのに伴ってより効率よく最適な回路を得ることができ、回路設計期間の大幅な短縮が期待できる。
【００３８】
［第２実施形態］
図１３、図１４は本発明の第２の実施形態にかかる動作合成装置のＧＵＩを示した図である。これらの図が示すように本実施形態においては動作合成処理の際に回路パラメータの設定が選択できるよう構成されている。
【００３９】
図１３に示すように、回路パラメータの設定が“自動”になっていた場合には、Ｃ言語動作レベル記述ファイルから回路パラメータが抽出されると、データベース１０８に登録されている回路の回路パラメータが自動的に設定されることとなっていた。
【００４０】
これに対して、図１４に示すように回路パラメータの設定が“指定”になっていた場合には、各関数毎に回路パラメータを記入することにより（１４０１参照）、データベース１０８に登録されている回路の回路パラメータが設定されることとなる。
【００４１】
図１４においてＩＰ＿Ａ３では回路パラメータであるコンポーネント数がｃｏｍｐ＿ｎｕｍ＝２、入力データビット幅がｄｔ＿ｗｉｄｔｈ＝８となっており、この回路パラメータに対応した回路が生成される。
【００４２】
また、ＩＰ＿Ｂ５では回路パラメータであるコンポーネント数がｃｏｍｐ＿ｎｕｍ＝１、入力データビット幅がｄｔ＿ｗｉｄｔｈ＝１０、係数がそれぞれｃｏｅｆｆ０＝４、ｃｏｅｆｆ１＝２、ｃｏｅｆｆ２＝−１となっており、この回路パラメータに対応した回路が生成される。
【００４３】
このように本実施形態では、Ｃ言語動作レベル記述ファイルの関数単位で回路パラメータを使って記述されている部分がＨＤＬ言語ＲＴレベル記述ファイルに自動的に反映されるか、適宜指定により反映させるかを選択することができるので、回路パラメータを使って汎用的に記述された動作記述を使用したいシステムの要求に応じて最適な形で再利用することが可能となる。
【００４４】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００４６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００４８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４９】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態にかかる動作合成装置（情報処理装置）の構成を示す図である。
【図２】本発明の一実施形態にかかる動作合成装置において、Ｃ言語で記述された動作記述ファイルからＨＤＬ言語で記述されたＲＴレベル記述ファイルを生成する動作合成処理の手順を示したフローチャートである。
【図３】記動作合成処理におけるＣ言語動作記述ファイル、ＲＴレベル記述ファイル、データベースの関係を具体的に示した図である。
【図４】は本発明の一実施形態にかかる動作合成装置のＧＵＩの一部を示した図である。
【図５】ファイルボタンに含まれる内容の一部を示した図である。
【図６】設定ボタンに含まれる内容の一部を示した図である。
【図７】ファイルボタンにおいて合成対象となるＣ言語動作記述ファイルと出力ファイルとを決定し、また、設定ボタンによって出力するＲＴレベル記述ファイルおよび動作合成の前提条件となるクロック周波数を決定し、画面中段に表示させた場合の一例を示す図である。
【図８】図４に示した画面にて動作合成を行った後、Ｃ表示ボタン、ＨＤＬ表示ボタンをクリックしたときに現われるポップアップウインドウの様子を示した図である。
【図９】動作合成ボタンが選択されることにより表示される動作合成ウィンドウの一部を示した図である。
【図１０】動作合成ボタンが選択されることにより表示される動作合成ウィンドウの一部を示した図である。
【図１１】動作合成ボタンが選択されていることにより表示される動作合成ウィンドウの一部を示した図である。
【図１２】動作合成ボタンが選択されていることにより表示される動作合成ウィンドウの一部を示した図である。
【図１３】本発明の第２の実施形態にかかる動作合成装置のＧＵＩを示した図である。
【図１４】本発明の第２の実施形態にかかる動作合成装置のＧＵＩを示した図である。
【図１】
2006171913.tif 000003
【図２】
2006171913.tif 000004
【図３】
2006171913.tif 000005
【図４】
2006171913.tif 000006
【図５】
2006171913.tif 000007
【図６】
2006171913.tif 000008
【図７】
2006171913.tif 000009
【図８】
2006171913.tif 000010
【図９】
2006171913.tif 000011
【図１０】
2006171913.tif 000012
【図１１】
2006171913.tif 000013
【図１２】
2006171913.tif 000014
【図１３】
2006171913.tif 000015
【図１４】
2006171913.tif 000016