(57)【特許請求の範囲】
【請求項１】
コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、該論理生成部は、該第１の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであることを特徴とするデータ生成装置。
【請求項２】
前記論理生成部は、前回受け付けた機能情報を記憶する機能情報記憶部を有し、
前記第１の版数更新部は、前記論理生成部が受け付けた機能情報が、前記機能情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることを特徴とする請求項１記載のデータ生成装置。
【請求項３】
前記版数情報は時刻に応じた値を含むものであり、
前記第１の版数更新部は、前記版数情報を、前記データ生成装置が生成した時刻に応じた値を含む版数情報に更新するものであることを特徴とする請求項１または２記載のデータ生成装置。
【請求項４】
コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、該論理生成部は、該第２の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたことを特徴とするデータ生成装置。
【請求項５】
前記機能情報は版数格納回路として版数格納ＲＯＭが記述されたものであり、
前記コンフィグレーションデータ生成部は、前記第２の版数更新部で更新された版数情報を格納する前記版数格納ＲＯＭを含んだコンフィグレーションデータを生成するものであることを特徴とする請求項４記載のデータ生成装置。
【請求項６】
前記配置配線部は、前回生成したコンフィグレーションデータを記憶する配置情報記憶部を有し、
前記第２の版数更新部は、生成されたコンフィグレーションデータが、前記配置情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることを特徴とする請求項４または５記載のデータ生成装置。
【請求項７】
このデータ生成装置が、プログラマブル論理デバイスに接続されたコンフィグレーションＲＯＭから該プログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するものであって、
前記版数格納回路は、前記プログラマブル論理デバイスに対し前記コンフィグレーションＲＯＭとは別に接続された回路によって前記版数情報が読出し可能となるものであることを特徴とする請求項１から６いずれか１項記載のデータ生成装置。
【請求項８】
コンピュータにより実行され、該コンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、該コンピュータを、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、該論理生成部は、該第１の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであるデータ生成装置として動作させることを特徴とするデータ生成プログラム。
【請求項９】
コンピュータにより実行され、該コンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、該コンピュータを、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、該論理生成部は、該第２の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたデータ生成装置として動作させることを特徴とするデータ生成プログラム。
【請求項１０】
前記データ生成装置が、プログラマブル論理デバイスに接続されたコンフィグレーションＲＯＭから該プログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するものであって、
前記版数格納回路は、前記プログラマブル論理デバイスに対し前記コンフィグレーションＲＯＭとは別に接続された回路によって前記版数情報が読出し可能となるものであることを特徴とする請求項８または９記載のデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置およびデータ生成プログラムに関する。
【背景技術】
【０００２】
例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスが電子装置の部品として広く用いられている。ＦＰＧＡを用いた装置の開発では、ユーザが回路の論理機能を例えばハードウェア記述言語等で記述し、記述された機能情報を、コンピュータで実行する論理合成ツールおよび配置配線ツールによってコンフィグレーションデータに変換する。コンフィグレーションデータを、ＲＯＭ等を介してＦＰＧＡに取り込ませると、ＦＰＧＡ内部に所望の回路が構成される。ＦＰＧＡはコンフィグレーションデータの取込みによって内部回路の再構成が可能であり、回路の追加および変更をユーザの手元で短期間に行うことができる。ＦＰＧＡを用いた開発では、ユーザが回路を頻繁に変更できる反面、変更の履歴をユーザ自身で把握する必要がある。
【０００３】
図１は、ＦＰＧＡを用いた装置の例としての第１の装置を示すブロック図である。
【０００４】
図１に示す第１の装置１００には、それぞれにＦＰＧＡが実装された４枚のボード１１０，１２０，１３０，１４０、およびこれらのボード１１０〜１４０とバスで接続されたＣＰＵボード１５０が搭載されている。ＣＰＵボード１５０に実装されたＣＰＵ１５１は、装置１００に外部接続された端末１６０と通信可能に接続されている。図１の左側部分には、各ボードの機能変更の履歴が樹形図状に示されている。４枚のボード１１０〜１４０は、ハードウェア構成が互いに同一であり、プリント配線基板１０１に同一種類のＦＰＧＡ１０２が搭載された基本構成を有している。４枚のボード１１０〜１４０は、ＦＰＧＡ内部で構成される回路のみが異なり、各ＦＰＧＡ１１１，１２１，１３１，１４１内部には、ＣＰＵ１５１と通信するための共通回路であるＣＰＵ＿ＩＦ（１１１＿２，１２１＿２，１３１＿２，１４１＿２）の他に、互いに異なる機能のユーザ回路がそれぞれ構成されている。例えば、第１のＦＰＧＡ１１１内部には機能Ａの回路が構成され、第３のＦＰＧＡ１３１内部では機能Ｂの回路が構成される。また、第２のＦＰＧＡ１２１では、機能Ａに対し追加された機能Ａ＋αの回路が構成され、第４のＦＰＧＡ１４１では、機能Ｂに対し追加された機能Ｂ＋αの回路が構成される。４つのＦＰＧＡ１１１〜１４１に異なる回路を構成させることによって、機能が互いに異なる４枚のボード１１０〜１４０を搭載した装置１００が実現する。ただし、各ボード１１０〜１４０は互いに外観上の違いがないため、フィールド試験等、回路構成が完了した場面でボードを区別することが困難となる場合がある。
【０００５】
そこで、ＦＰＧＡ１１１〜１４１内部に回路が構成された状態で、各ボード１１０〜１４０における回路を識別可能とするため、それぞれのＦＰＧＡ１１１〜１４１内部に、回路変更の版数情報が格納されたレジスタやメモリ回路を構成させる技術が知られている（例えば、特許文献１から３参照。）。例えば、レジスタやメモリ回路に格納された版数を、ＣＰＵ―ＩＦを介してＣＰＵ１５１によって読出し、端末１６０に表示させることで、ＦＰＧＡに構成させた回路の版数を確認できるとともに、異なる機能のボードが誤って実装され不具合の原因となることを防止できる。
【０００６】
構成された回路から版数を読み出すことは、単数のＦＰＧＡを備えた装置にも有効である。
【０００７】
図２は、ＦＰＧＡを用いた装置の例としての第２の装置を示すブロック図である。
【０００８】
第２の装置２００は、ボード２１０に１つのＦＰＧＡ２２０が実装されたハードウェア構成を有しており、互いに異なる４つのコンフィグレーションデータであるＲＯＭデータ（以降、コンフィグレーションデータとも称する）２２１，２２２，２２３，２２４のいずれかを選択してＦＰＧＡ２２０に取り込ませることにより、例えば仕向地別に異なる機能を提供できるようになっている。装置の出荷前に動作試験を行う際には、ボード試験機２３０において、試験対象の装置２００をＣＰＵボード２３１と接続し、ＦＰＧＡ２２０に構成された回路から版数情報を事前に読み出すことによって、ＲＯＭデータの取り違えによって、予定外の機能を有する装置が試験されるのを防ぐことができる。
【０００９】
また、ＦＰＧＡに構成された回路から版数を読み出すことは、装置の出荷前試験に限らず、装置の開発でも有用である。
【００１０】
図３は、ＦＰＧＡを用いた装置の例としての第３の装置を示すブロック図である。
【００１１】
第３の装置３００も第２の装置と同様に、ボード３１０にＦＰＧＡ３２０が実装されたハードウェア構成を有しており、ＲＯＭデータ（コンフィグレーションデータ）３２１をＦＰＧＡ３２０に取り込ませることにより機能を実現する。ＲＯＭデータ３２１は、開発者であるユーザが機能情報であるＦＰＧＡ機能情報３２２を例えばＶＨＤＬ等のハードウェア記述言語等で記述し、論理合成ツールおよび配置配線ツールで変換することによって得られる。第３の装置３００を開発する過程では、ボード評価機３３０を使用して機能評価を行い、その結果に基づいてＦＰＧＡ機能情報３２２の記述を変更し、ＲＯＭデータ３２１を更新してＦＰＧＡ３２０に再度取り込ませる。このサイクルを繰り返して目的の機能を実現する。ここで、ＦＰＧＡ機能情報３２２には、版数情報を外部のＣＰＵ３３１から読出し可能に格納するレジスタ３２３を記述しておき、ユーザがＦＰＧＡ機能情報３２２の記述を変更する際には、格納される版数情報の値の記述も変更する。第３の装置３００を試験する際には、ＲＯＭデータの取り違えやＲＯＭデータ生成のし忘れによって予定外の回路が試験されるのを防ぐため、ボード評価機３３０において、試験対象の装置３００をＣＰＵボード３３１と接続し、ＦＰＧＡ２２０に構成された回路から版数情報を読み出す。
【００１２】
図４は、図１から図３に示すＦＰＧＡで構成される回路の開発フローを説明する図であり、図５は、図４の開発フローで利用および生成される情報のファイル構成を説明する図である。図４の左側には、開発における情報の流れが図３と同様の配置で示され、右側には、情報の流れが上から順に示されている。
【００１３】
図４に示す開発フローでは、開発者であるユーザがＦＰＧＡ機能情報３２２を作成する。ＦＰＧＡ機能情報３２２は、ＦＰＧＡで構成される回路が例えばＶＨＤＬ等で記述されたものであるが、他の記述言語による記述や、図形エントリー等による記述も採用可能である。ＦＰＧＡ機能情報３２２は、ファイルとして図５に示すＦＰＧＡ回路デザイン情報フォルダ３８１に格納される。このフォルダ３８１には、ＦＰＧＡ機能情報３２２が複数のファイル群３７１，３７２，３７３に分かれて格納されている。なお、ファイル名の’＊＊＊＊＊＊＊＊＊’はユーザが任意に指定可能な部分である。これらのファイル群３７１のうち’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルには、ユーザが任意に指定する版数情報を格納したレジスタ３２３が記述されている。ユーザは、’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルにバージョン番号等の版数情報を記述することによって、ＦＰＧＡ版数情報を埋め込む。別のファイル群３７２のファイルには、ＦＰＧＡ機能情報の一種であるＦＰＧＡ内エンベデッド機能情報としてのＲＯＭおよびＲＡＭの機能が記述されている。ＲＯＭはＲＡＭと異なり、ＦＰＧＡで回路が構成された時点で値が格納されている。このためＲＯＭに格納される値が、別のファイル群３７３のファイルに記述されている。
【００１４】
ファイルに記述されたＦＰＧＡ機能情報は、論理合成を行う合成ツール３５０および配置配線を行うレイアウトツール３６０によってＲＯＭデータに変換される。合成ツール３５０は、まず、回路の機能情報が記述された回路情報ファイルを読み込む。より詳細には、図５に示すファイル群３７１，３７２のファイルを読み込む。合成ツール３５０は、次に、機能情報をＦＰＧＡのプログラマブルロジック情報に変換する。変換結果は、図５に示す合成結果ファイル３７４にネットリストの形式で記述される。次に、レイアウトツール３６０が論理合成後の合成結果ファイル３７４を読み込み、配置配線を行う。また、レイアウトツール３６０は、ファイル群３７３のファイルを読出し、回路中のＲＯＭに格納される値も含めた配置配線を行う。配置配線の結果、ＲＯＭデータ３２１が生成され、図５に示すコンフィグレーションＲＯＭファイル３７５に保存される。ユーザは、生成されたＲＯＭデータ３２１を、コンフィグレーションＲＯＭ３２１Ｒに書き込む。コンフィグレーションＲＯＭ３２１ＲがＦＰＧＡ３２０と電気的に接続された状態でＦＰＧＡ３２０をリセット状態にすると、ＦＰＧＡ３２０がコンフィグレーションＲＯＭ３２１ＲからＲＯＭデータ３２１を取り込んでＲＯＭデータ３２１に応じた回路を構成し、回路の動作を開始する。
【００１５】
このようにして、ＦＰＧＡ３２０内部には、ユーザが作成したＦＰＧＡ機能情報３２２に応じた回路が構成される。このとき、ＦＰＧＡ３２０内部には版数情報を格納したレジスタ３２３Ａも構成されている。レジスタ３２３Ａに格納された版数情報は、外部接続されたＣＰＵ３３１を介し端末ＰＣに表示される。回路の機能情報を更新する場合には、ユーザがレジスタ３２３Ａに格納する版数情報も更新しておくことによって、端末ＰＣに表示された版数情報から回路の版数を特定することが可能となる。
【特許文献１】特開２００１−２４４６０８号公報
【特許文献２】特開２００２−３１２３０４号公報
【特許文献３】特開２００５−２５９０５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、図４に示した開発フローでは版数情報がユーザによって人為的に更新されるため、図６に示すように、ユーザがＦＰＧＡ機能情報を変更したにも拘わらず、レジスタ３２３に格納される版数情報の更新を忘れたりすると、同一の版数情報を有する複数のＲＯＭデータが生成され区別が困難となる。また、版数情報を正しく設定し直すためには、一連の開発プロセスを再実行する必要があり、開発工数が増大してしまう。
【００１７】
また、ＦＰＧＡのＲＯＭデータは、回路の機能情報の記述変更がなくとも複数生成される場合がある。
【００１８】
図７は、ＦＰＧＡを用いた装置の例としての第４の装置を示すブロック図であり、図８は、その開発のフローを説明する図である。
【００１９】
図７に示す第４の装置４００およびボード評価機４３０の構成は図３で説明した第３の装置３００およびボード評価機３３０の構成と同様である。装置４００のＦＰＧＡ４２０で構成される回路の機能情報であるＦＰＧＡ機能情報４２２は、合成ツール４５０およびレイアウトツール４６０によってＲＯＭデータデータに変換される。ここで、合成ツール４５０によって生成された情報（例えばネットリスト）、をレイアウトツール４６０によってＲＯＭデータに変換する際、動作タイミング条件等の制約条件を変えながら複数回の変換を行うことによって、配置配線情報が互いに異なる複数のＲＯＭデータ４２１Ａ〜４２１Ｅが得られる。評価では、複数のＲＯＭデータのうち動作が良好なものを選択して使用する。
【００２０】
図８の開発フローにも示すように、レイアウトツール４６０に配置配線を複数回行わせる場合には、版数情報が同一となるＲＯＭデータが複数生成され区別が困難となる。
【００２１】
本発明は、上記事情に鑑み、ユーザによる版数更新の手間を軽減するとともに、回路の版数を確実に更新するデータ生成装置およびデータ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記目的を達成する本発明のデータ生成装置のうちの第１のデータ生成装置は、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、この機能情報に応じて上記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
上記論理生成部で生成された論理回路情報に応じた配置配線処理を行って上記コンフィグレーションデータを生成する配置配線部とを備え、
上記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、この論理生成部は、この第１の版数更新部によって更新された版数情報が上記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであることを特徴とする。
【００２３】
本発明の第１のデータ生成装置では、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報が更新され、更新された版数情報が読出し可能に格納された版数格納回路を含んだ論理回路情報が生成される。このため、ユーザが回路の機能情報を更新するときには、ユーザによる更新の操作がなくとも版数情報が更新され、コンフィグレーションデータに反映される。したがって、回路の版数が確実に更新され、ユーザによる版数更新の手間が軽減される。
【００２４】
ここで、上記本発明の第１のデータ生成装置において、上記論理生成部は、前回受け付けた機能情報を記憶する機能情報記憶部を有し、
上記第１の版数更新部は、上記論理生成部が受け付けた機能情報が、上記機能情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることが好ましい。
【００２５】
受け付けた機能情報が前回の機能情報と同一の場合に更新前の版数情報を維持することによって、異なる版数情報が同一の機能情報に割り当てられる事態が避けられる。
【００２６】
また、上記本発明の第１のデータ生成装置において、上記版数情報は時刻に応じた値を含むものであり、
上記第１の版数更新部は、上記版数情報を、上記データ生成装置が生成した時刻に応じた値を含む版数情報に更新するものであることが好ましい。
【００２７】
プログラマブル論理デバイスから読み出される版数情報を介して、更新の版数およびデータ生成装置の生成時刻も知ることができる。
【００２８】
また、上記目的を達成する本発明のデータ生成装置のうちの第２のデータ生成装置は、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、この機能情報に応じて上記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
上記論理生成部で生成された論理回路情報に応じた配置配線処理を行って上記コンフィグレーションデータを生成する配置配線部とを備え、
上記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、この論理生成部は、この第２の版数更新部によって更新された版数情報が上記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたことを特徴とする。
【００２９】
本発明の第２のデータ生成装置では、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報が更新され、更新された版数情報が読出し可能に格納された版数格納回路を含んだコンフィグレーションデータが生成されるので、回路の版数が確実に更新され、ユーザによる版数更新の手間が軽減される。また、第２のデータ生成装置では、版数情報はコンフィグレーションデータが生成されるたびに更新されるので、機能情報を変更せず同一の論理回路情報に対して複数のコンフィグレーションデータを生成する場合であっても版数格納回路に格納される版数情報が更新される。
【００３０】
また、上記本発明の第２のデータ生成装置において、上記機能情報は版数格納回路として版数格納ＲＯＭが記述されたものであり、
上記コンフィグレーションデータ生成部は、上記第２の版数更新部で更新された版数情報を格納する上記版数格納ＲＯＭを含んだコンフィグレーションデータを生成することが好ましい。
【００３１】
構成される回路中にＲＯＭが含まれる場合、このＲＯＭに格納されるデータは、論理生成部が素子の接続を表す論理回路情報を生成する段階ではなく、配置配線部が論理回路情報をコンフィグレーションデータに変換する段階で組み入れられる。したがって、版数情報を格納する版数格納回路としてＲＯＭが用いられる場合、配置配線部による版数情報の更新が容易に行える。
【００３２】
また、上記本発明の第２のデータ生成装置においても、上記配置配線部は、前回生成したコンフィグレーションデータを記憶する配置情報記憶部を有し、
上記第２の版数更新部は、生成されたコンフィグレーションデータが、上記配置情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることが好ましい。
【００３３】
また、上記本発明の第２のデータ生成装置においても、上記版数情報は時刻に応じた値を含むものであり、
上記第２の版数更新部は、上記版数情報を、上記データ生成装置が生成した時刻に応じた値を含む版数情報に更新するものであることが好ましい。
【００３４】
また、上記目的を達成する本発明のデータ生成プログラムのうちの第１のデータ生成プログラムは、コンピュータにより実行され、このコンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、このコンピュータを、
回路の論理機能が記述された機能情報を受け付け、この機能情報に応じて上記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
上記論理生成部で生成された論理回路情報に応じた配置配線処理を行って上記コンフィグレーションデータを生成する配置配線部とを備え、
上記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、この論理生成部は、この第１の版数更新部によって更新された版数情報が上記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであるデータ生成装置として動作させることを特徴とする。
【００３５】
また、上記目的を達成する本発明のデータ生成プログラムのうちの第２のデータ生成プログラムは、コンピュータにより実行され、このコンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、このコンピュータを、
回路の論理機能が記述された機能情報を受け付け、この機能情報に応じて上記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
上記論理生成部で生成された論理回路情報に応じた配置配線処理を行って上記コンフィグレーションデータを生成する配置配線部とを備え、
上記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、この論理生成部は、この第２の版数更新部によって更新された版数情報が上記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたデータ生成装置として動作させることを特徴とする。
【００３６】
なお、本発明にいうデータ生成プログラムについては、ここではその基本形態のみを示すのに留めるが、これは単に重複を避けるためであり、本発明にいうデータ生成プログラムには、上記の基本形態のみではなく、前述したデータ生成装置の各形態に対応する各種の形態が含まれる。
【発明の効果】
【００３７】
以上説明したように、本発明によれば、ユーザによる版数更新の手間を軽減するとともに、回路の版数を確実に更新するデータ生成装置およびデータ生成プログラムが実現する。
【発明を実施するための最良の形態】
【００３８】
以下図面を参照して本発明の実施形態について説明する。
【００３９】
図９は、本発明のデータ変換装置の一実施形態として動作するコンピュータの外観斜視図、図１０は、そのハードウェア構成図である。
【００４０】
コンピュータ５００は、後述するＣＰＵ、ＲＡＭメモリ、ハードディスク等を内蔵した本体部５１０、本体部５１０からの指示により表示画面５２１に画像を表示する、ＣＲＴやＬＣＤ等からなる画像表示装置５２０、このコンピュータ５００内にユーザの指示や文字情報を入力するため操作入力を受けるキーボード５３０、表示画面５２１上の任意の位置を指定することによりその位置に応じた指示を入力するマウス５４０を備えている。
【００４１】
本体部５１０は、さらにフレキシブルディスク（以下ＦＤと略す）が装填されるＦＤ装填口５１１、ＣＤ−ＲＯＭが装填されるＣＤ−ＲＯＭ装填口５１２を有しており、その内部には、装填されたＦＤやＣＤ−ＲＯＭをドライブする、後述するＦＤドライブ、ＣＤ−ＲＯＭドライブも内蔵されている。
【００４２】
本体部５１０の内部には、図１０に示すように、各種プログラムを実行するＣＰＵ５５１、ハードディスク装置５１３に格納されたプログラムが読み出されＣＰＵ５５１での実行のために展開される、主メモリ５５２、各種プログラムやデータ等が保存されたハードディスク装置５５３、ＦＤ５１４０が装填され、その装填されたＦＤ５１４０にアクセスするＦＤドライブ５５４、ＣＤ−ＲＯＭ５１５０が装填され、その装填されたＣＤ−ＲＯＭ５１５０にアクセスするＣＤ−ＲＯＭドライブ５５５が内蔵されている。これらの各種要素と、さらに、図９にも示す画像表示装置５２０、キーボード５３０、マウス５４０は、バス５２００を介して相互に接続されている。また、不図示の外部機器と接続するために、コンピュータ５００には入力インタフェース５５６および出力インタフェース５５７が内蔵されている。これら入出力インタフェース２１６も、コンピュータ５００内部のハードウェアを構成する上述の各種要素と、バス５２００を介して相互に接続されている。
【００４３】
図１１は、本発明のデータ生成プログラムの第１の実施形態を示す模式構成図である。
【００４４】
本実施形態のデータ生成プログラム６００はＣＤ−ＲＯＭ５１５０に格納されており、合成ツール６１０およびレイアウトツール６２０を有している。合成ツール６１０は、回路情報読込み部６１１、情報更新部６１２、およびロジック情報生成部６１９を有しており、情報更新部６１２は、版数情報ファイル検索部６１３、版数情報取出し部６１４、回路情報差分チェック部６１５、前回回路情報記憶部６１６、ＦＰＧＡ版数情報更新部６１７、タイムスタンプ情報取得部６１８を有している。また、レイアウトツール６２０は、合成後ファイル読込み部６２１および配置配線部６２２を有している。
【００４５】
データ生成プログラム６００を記憶したＣＤ−ＲＯＭ５１５０がＣＤ−ＲＯＭ装填口５１２から本体部５１０内に装填されると、そのＣＤ−ＲＯＭ５１５０に記憶されたデータ生成プログラムがＣＤ−ＲＯＭドライブ５５５によりこのコンピュータ５００のハードディスク装置５５３内にインストールされる。そして、このハードディスク装置５５３内にインストールされたデータ生成プログラムが起動されると、このコンピュータ５００は、本発明にいうデータ生成装置の第１の実施形態として動作する。
【００４６】
図１１に示すデータ生成プログラムの各部の作用については後述する。
【００４７】
図１２は、本発明のデータ生成装置の第１の実施形態を示す機能ブロック図である。図１２には、データ生成装置７００が、このデータ生成装置７００に入出力される情報とともに示されており、その右側には、データ生成装置７００の一部である情報更新部のより詳細な機能ブロックが示されている。また、図１３は、図１２に示すデータ生成装置の各部によって受け付けまたは生成される情報のファイル構成を説明する図である。
【００４８】
図１２に示すデータ生成装置７００は、コンピュータ５００に図１１に示すデータ生成プログラム６００がインストールされて実現されることにより、このコンピュータ５００内に構築されるものである。
【００４９】
図１２に示すデータ生成装置７００は、合成ツール７１０およびレイアウトツール７２０を有している。合成ツール７１０は、回路情報読込み部７１１、情報更新部７１２、およびロジック情報生成部７１９を有しており、情報更新部７１２は、版数情報ファイル検索部７１３、版数情報取出し部７１４、回路情報差分チェック部７１５、前回回路情報記憶部７１６、ＦＰＧＡ版数情報更新部７１７、およびタイムスタンプ情報取得部７１８を有している。また、レイアウトツール７２０は、合成後ファイル読込み部７２１および配置配線部７２２を有している。ここで、合成ツール７１０が本発明のデータ生成装置にいう論理生成部の一例に相当し、レイアウトツール７２０が本発明のデータ生成装置にいう配置配線部の一例に相当し、情報更新部７１２が本発明のデータ生成装置にいう第１の版数更新部の一例に相当し、前回回路情報記憶部７１６が本発明のデータ生成装置にいう機能情報記憶部の一例に相当する。
【００５０】
図１１に示すデータ生成プログラム６００がコンピュータ５００にインストールされたときの、そのデータ生成プログラム６００の各部６１１〜６２２の作用は、図１２に示すデータ生成装置７００の各部７１１〜７２２の作用そのものであり、以下図１２のデータ生成装置７００の各部７１１〜７２２の作用を説明することで、図１１のデータ生成プログラム６００の各部６１１〜６２２の作用の説明を兼ねることとする。またデータ生成装置７００が対象とするＦＰＧＡおよびコンフィグレーションＲＯＭの等デバイスについては図４もあわせて参照しながら説明する。
【００５１】
図１２に示すデータ生成装置７００の合成ツール７１０は、ＦＰＧＡ３２０（図４参照）に構成させる回路の論理機能が記述されたＦＰＧＡ機能情報３２２を受け付ける。そして、このＦＰＧＡ機能情報３２２に応じてＦＰＧＡ３２０が有する種類の素子の接続を表す論理回路情報を生成する。
【００５２】
より詳細には、合成ツール７１０の回路情報読込み部７１１がＦＰＧＡ機能情報３２２を受け付ける。ＦＰＧＡ機能情報３２２にはＦＰＧＡ版数情報が埋め込まれている。ＦＰＧＡ機能情報３２２は、開発者であるユーザが例えばＶＨＤＬ等のハードウェア記述言語等で記述することによって作成されるものであり、ファイルに保存される。ＦＰＧＡ機能情報３２２は、複数のファイルとして図１３に示すＦＰＧＡ回路デザイン情報フォルダ７８１に格納される。ＦＰＧＡ機能情報３２２が記述された複数のファイルは、複数のファイル群７７１，７７２，７７３に区分されている。第１のファイル群７７１のファイルにはレジスタ転送レベルで記述された機能情報が保存され、第２のファイル群７７２のファイルにはＲＯＭやＲＡＭといったマクロ素子の機能情報が保存され、第３のファイル群７７２のファイルにはＲＯＭに格納される値が機能情報として保存されている。ファイル群３７１のうちの’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルには、ユーザが任意に指定する版数情報を格納したレジスタ３２３が記述されている。この版数情報には、時刻を表すタイムスタンプが含まれる。タイムスタンプはデータ生成装置７００によって書き換えられる。版数情報の形式としては、例えば、ユーザが指定するバージョン番号およびこれに続く年月日時分秒形式のタイムスタンプからなる数字列がある。レジスタ３２３は、後にＦＰＧＡ３２０内部で構成された場合に、ＦＰＧＡ３２０に外部接続されたＣＰＵ３３１によって版数情報が読み出されるように機能が記述されている。
【００５３】
回路情報読込み部７１１は、ＲＯＭ格納データ用ファイルのファイル群７７３を除いたファイル群７７１，７７２内のすべてのファイルを読み出すことによって、ファイルに記述されたＦＰＧＡ機能情報３２２を受け付ける。
【００５４】
情報更新部７１２は、ＦＰＧＡ機能情報３２２が受け付けられるたびに、版数情報を更新する。情報更新部７１２についてさらに詳細に説明する。
【００５５】
情報更新部７１２の版数情報ファイル検索部７１３は、回路情報読込み部７１１が読み出したファイルの中から版数情報が記載された’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルを検索する。版数情報取出し部７１４は、版数情報ファイル検索部７１３によって検索された’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルから版数情報を取り出す。
【００５６】
また、前回回路情報記憶部７１６は、回路情報読込み部７１１が読み出したファイルを次回の論理回路情報生成まで一時的に保存する。前回回路情報記憶部７１６はハードディスク装置５５３（図１０参照）の一部として構成されるものであり、図１３ではフォルダとして示されている。
【００５７】
回路情報差分チェック部７１５は、合成ツール７１０が受け付けたＦＰＧＡ機能情報が前回回路情報記憶部７１６に記憶されたＦＰＧＡ機能情報と一致するか否かをチェックする。より具体的には、回路情報読込み部７１１が読み出したファイルの内容と前回回路情報記憶部７１６に保存されたファイルの内容が完全に一致するか否かをチェックする。このとき、’ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルはチェックの対象から除外される。
【００５８】
タイムスタンプ情報取得部７１８は、データ生成装置７００が生成を行う時刻、より詳細には、ＦＰＧＡ機能情報３２２が受け付けられた時刻を表すタイムスタンプを取得する。
【００５９】
ＦＰＧＡ版数情報更新部７１７は、版数情報取出し部７１４で取り出された版数情報のうちタイムスタンプの部分を、タイムスタンプ情報取得部７１８で取得されたタイムスタンプで置き換える。これによって、版数情報にはデータ生成装置７００が生成を行う時刻に応じた値が含まれ、版数情報が更新される。ただし、ＦＰＧＡ版数情報更新部７１７は、回路情報差分チェック部７１５によるチェックの結果が同一と判断された場合には、タイムスタンプの置き換えを行わず、版数情報を維持する。
【００６０】
このようにして情報更新部７１２は、受け付けたＦＰＧＡ機能情報が前回回路情報記憶部７１６に記憶されたＦＰＧＡ機能情報と同一の場合には版数情報を維持し、異なる場合には、版数情報を、データ生成装置７００が生成を行う時刻に応じた値を含むものに更新する。
【００６１】
ロジック情報生成部７１９は、情報更新部７１２で更新された版数情報を含む機能情報に基づいて回路合成を行い、論理回路情報を生成する。論理回路情報は、ネットリストの形式で合成結果ファイル７７５に保存される。回路合成処理の経過レポート等は、中間ファイルとして生成される。
【００６２】
データ生成装置７００のレイアウトツール７２０は、合成ツール７１０で生成された論理回路情報に応じた配置配線処理を行い、ＦＰＧＡ３２０に取り込ませるコンフィグレーションデータを生成する。より詳細には、レイアウトツール７２０の合成後ファイル読込み部７２１が合成結果ファイル７７５を読出し、配置配線部７２２が、読み出された合成結果ファイル７７５の論理回路情報に応じて配置配線処理を行い、コンフィグレーションデータすなわちＲＯＭデータを生成する。
【００６３】
ユーザが、生成されたコンフィグレーションデータを、図３を参照して説明したようにＦＰＧＡのコンフィグレーションＲＯＭ３２１Ｒに記憶させ、ＦＰＧＡ３２０をリセット状態にすると、ＦＰＧＡ３２０はコンフィグレーションＲＯＭ３２１ＲからＲＯＭデータ３２１を読出し、ＲＯＭデータ３２１に応じた回路を構成し、回路の動作を開始する。構成された回路には、情報更新部７１２によって更新された版数情報が格納されたレジスタが含まれており、版数情報は、ＦＰＧＡ３２０に外部接続されたＣＰＵ３３１によって読み出され端末ＰＣに表示される。この版数情報に含まれたタイムスタンプは、論理回路情報が生成されるたびに更新されるため、ユーザによる版数更新の作業が不要であり、しかも版数情報の更新が確実に行われる。
【００６４】
続いて、本発明の第２の実施形態について説明する。以下の第２実施形態の説明にあたっては、これまで説明してきた実施形態における各要素と同一の要素には同一の符号を付けて示し、前述の実施形態との相違点について説明する。
【００６５】
図１４は、本発明のデータ生成プログラムの第２の実施形態を示す模式構成図である。
【００６６】
本実施形態のデータ生成プログラム８００はＣＤ−ＲＯＭ５１５０（図１０参照）に格納されており、合成ツール８１０およびレイアウトツール８２０を有している。合成ツール８１０は、回路情報読込み部８１１およびロジック情報生成部８１２を有している。また、レイアウトツール８２０は、合成後ファイル読込み部８２１、配置配線部８２２、および情報更新部８２３を有しており、情報更新部８２３は、ＲＯＭデータファイル検索部８２４、回路情報差分チェック部８２５、前回回路情報記憶部８２６、ＲＯＭデータ更新部８２７、およびタイムスタンプ情報取得部８２８を有している。
【００６７】
ＣＤ−ＲＯＭ５１５０に記憶されたデータ生成プログラム８００がコンピュータ５００のハードディスク装置５５３内にインストールされ、ハードディスク装置５５３内にインストールされたデータ生成プログラムが起動されると、このコンピュータ５００は、本発明にいうデータ生成装置の第２の実施形態として動作する。
【００６８】
図１４に示すデータ生成プログラムの各部の作用については後述する。
【００６９】
図１５は、本発明のデータ生成装置の第２の実施形態を示す機能ブロック図である。図１５には、データ生成装置９００が、このデータ生成装置９００に入出力される情報とともに示されており、その右側には、データ生成装置９００の一部である情報更新部のより詳細な機能ブロックが示されている。また、図１６は、図１５に示すデータ生成装置の各部によって受け付けまたは生成される情報のファイル構成を説明する図である。
【００７０】
図１５に示すデータ生成装置９００は、合成ツール９１０およびレイアウトツール９２０を有している。合成ツール９１０は、回路情報読込み部９１１およびロジック情報生成部９１２を有している。また、レイアウトツール９２０は、合成後ファイル読込み部９２１、配置配線部９２２、および情報更新部９２３を有しており、情報更新部９２３は、ＲＯＭデータファイル検索部９２４、回路情報差分チェック部９２５、前回回路情報記憶部９２６、ＲＯＭデータ更新部９２７、およびタイムスタンプ情報取得部９２８を有している。ここで、合成ツール９１０が本発明のデータ生成装置にいう論理生成部の一例に相当し、レイアウトツール９２０が本発明のデータ生成装置にいう配置配線部の一例に相当し、情報更新部９２３が本発明のデータ生成装置にいう第２の版数更新部の一例に相当し、前回回路情報記憶部９２６が本発明のデータ生成装置にいう配置情報記憶部の一例に相当する。
【００７１】
図１４に示すデータ生成プログラム８００がコンピュータ５００にインストールされたときの、そのデータ生成プログラム８００の各部８１１〜８２８の作用は、図１５に示すデータ生成装置９００の各部９１１〜９２８の作用そのものであり、以下図１５のデータ生成装置９００の各部９１１〜９２８の作用を説明することで、図１４のデータ生成プログラム８００の各部８１１〜８２８の作用の説明を兼ねることとする。またデータ生成装置９００が対象とするデバイスについては図４も合わせて参照しながら説明する。
【００７２】
図１５に示すデータ生成装置９００の合成ツール９１０は、ＦＰＧＡ３２０（図４参照）に構成させる回路の論理機能が記述されたＦＰＧＡ機能情報３２２を受け付ける。そして、このＦＰＧＡ機能情報３２２に応じてＦＰＧＡ３２０が有する種類の素子の接続を表す論理回路情報を生成する。
【００７３】
より詳細には、合成ツール９１０の回路情報読込み部９１１が、ＦＰＧＡ機能情報３２２を受け付ける。ＦＰＧＡ機能情報３２２は、複数のファイルとして図１６に示すＦＰＧＡ回路デザイン情報フォルダ９８１に格納される。ＦＰＧＡ機能情報３２２が記述された複数のファイルは、複数のファイル群９７１，９７２，９７３に区分されており、ファイル群９７２のうちの’ＲＯＭ＿ｈｉｓｔｏｒｙ．ｖｈｄ’ファイルには、版数情報を格納した版数格納回路として版数格納ＲＯＭが記述されている。またファイル群９７３のうちの’ＲＯＭ＿ｈｉｓｔｏｒｙ．ｈｅｘ’ファイルには、版数格納ＲＯＭに格納される値としてユーザが任意に指定する版数情報が記述されている。版数情報には、時刻を表すタイムスタンプが含まれている。タイムスタンプはデータ生成装置９００によって書き換えられる。版数格納ＲＯＭは、ＦＰＧＡ内部で構成された場合に、ＦＰＧＡ３２０に外部接続されたＣＰＵ３３１によって版数情報が読み出されるように機能が記述されている。
【００７４】
合成ツール９１０の回路情報読込み部９１１は、ＲＯＭ格納データ用ファイルのファイル群９７３を除いたファイル群９７１，９７２内のすべてのファイルを読み出すことによって、ファイルに記述されたＦＰＧＡ機能情報３２２を受け付ける。ロジック情報生成部９１２はＦＰＧＡ機能情報に応じて回路合成を行い、論理回路情報を生成する。論理回路情報は、合成結果ファイル９７４に保存される。ロジック情報生成部９１２はＲＯＭをひとまとまりのメモリ素子として合成を行い、ＲＯＭが格納する値の取り込みはレイアウトツール９２０が行う。
【００７５】
データ生成装置９００のレイアウトツール９２０は、合成ツール９１０で生成された論理回路情報に応じた配置配線処理を行って、ＦＰＧＡ３２０に取り込ませるコンフィグレーションデータを生成する。
【００７６】
より詳細には、レイアウトツール９２０の合成後ファイル読込み部９２１が合成結果ファイル９７４、および、ＦＰＧＡ回路デザイン情報フォルダ９８１に格納されたファイル群９７３のＲＯＭ格納データファイルを読出し、配置配線部９２２が、読み出された合成結果ファイル９４７の論理回路情報に応じて配置配線処理を行い、コンフィグレーションデータを生成する。ＦＰＧＡにコンフィグレーションデータが取り込まれると版数格納ＲＯＭを含んだ回路が構成されるが、ＲＯＭはＲＡＭとは異なり、構成とともに値が格納された状態となる。コンフィグレーションデータには、版数格納ＲＯＭに格納される値としての版数情報も含まれる。生成されたコンフィグレーションデータ内の版数情報は、コンフィグレーションデータが生成されるたびに、レイアウトツール９２０の情報更新部９２３によって書き換えられる。
【００７７】
情報更新部９２３についてさらに詳細に説明する。情報更新部９２３のＲＯＭデータファイル検索部９２４は、合成後ファイル読込み部９２１が読み出したファイル群９７３のＲＯＭ格納データファイルの中から、’ＲＯＭ＿ｈｉｓｔｏｒｙ．ｈｅｘ’ファイルを検索する。
【００７８】
また、前回回路情報記憶部９２６は、配置配線部９２２が生成したコンフィグレーションデータを次回のコンフィグレーションデータ生成まで一時的に保存する。前回回路情報記憶部９２６はハードディスク装置５５３（図１０参照）の一部として設けられるものであり、図１６ではフォルダとして示されている。
【００７９】
回路情報差分チェック部９２５は、配置配線部９２２が生成したコンフィグレーションデータが前回回路情報記憶部９２６に記憶されたコンフィグレーションデータと一致するか否かをチェックする。なお、版数情報の部分はチェックの対象から除外される。
【００８０】
タイムスタンプ情報取得部９２８は、データ生成装置９００が生成を行う時刻、より詳細には、コンフィグレーションデータが生成された時刻を表すタイムスタンプを取得する。
【００８１】
ＲＯＭデータ更新部９２７は、コンフィグレーションデータに含まれた、版数格納ＲＯＭに格納される値としての版数情報のうちタイムスタンプの部分を、タイムスタンプ情報取得部９２８で取得されたタイムスタンプで置き換える。これによって、版数情報にはデータ生成装置９００が生成を行う時刻に応じた値が含まれ、版数情報が更新される。ただし、ＲＯＭデータ更新部９２７は、回路情報差分チェック部９２５によるチェックの結果が同一と判断された場合にはタイムスタンプの置き換えを行わず版数情報を維持する。
【００８２】
このようにして、ＲＯＭデータ更新部９２７によって更新された版数情報が含まれたコンフィグレーションデータが生成される。コンフィグレーションデータは、コンフィグレーションＲＯＭファイル９７５に保存される。
【００８３】
生成されたコンフィグレーションデータが、コンフィグレーションＲＯＭ３２１Ｒを介してＦＰＧＡ３２０に取り込まれると、ＦＰＧＡ３２０は、このコンフィグレーションデータ３２１に応じた回路を構成し、回路の動作を開始する。構成された回路には、ＲＯＭデータ更新部９２７によって更新された版数情報が格納された版数格納ＲＯＭが含まれている。版数情報は、ＦＰＧＡ３２０に外部接続されたＣＰＵ３３１によって読み出され端末ＰＣに表示される。この版数情報に含まれたタイムスタンプは、論理回路情報が生成されるたびに更新されるため、ユーザによる版数更新の作業が不要であり、版数情報の更新が確実になされる。さらに本実施形態のデータ生成装置９００では、例えば、論理回路情報（ネットリスト）を更新せず、レイアウトツール９２０を複数回動作させることによって、複数のコンフィグレーションデータを生成させる場合であっても、生成されるコンフィグレーションデータごとに版数情報が更新される。さらに、生成されるコンフィグレーションデータの内容が同一の場合には版数情報の更新を行わないので、異なる版数情報が割り当てられる事態が避けられる。
【００８４】
なお、上述した第１の実施形態では、合成ツールで版数情報の更新を行う例を説明し、第２の実施形態では、レイアウトツールで版数情報の更新を行う例を説明したが、本発明のデータ生成装置はこれに限られるものではなく、例えば、合成ツールとレイアウトツールの双方が版数情報の更新機能を備え、２種類の版数情報を更新する構成としたものであってもよい。
【００８５】
また、上述した実施形態では、版数情報にタイムスタンプが含まれ、タイムスタンプの部分が生成の時刻に応じたものに置き換えられる例を説明したが、本発明はこれに限られるものではなく、例えば、版数情報をシリアル番号とし、版数情報の更新として、生成のたびにシリアル番号を増加させる構成であってもよい。
【００８６】
以下、本発明の種々の形態について付記する。
【００８７】
（付記１）
コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、該論理生成部は、該第１の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであることを特徴とするデータ生成装置。
【００８８】
（付記２）
前記論理生成部は、前回受け付けた機能情報を記憶する機能情報記憶部を有し、
前記第１の版数更新部は、前記論理生成部が受け付けた機能情報が、前記機能情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることを特徴とする付記１記載のデータ生成装置。
【００８９】
（付記３）
前記版数情報は時刻に応じた値を含むものであり、
前記第１の版数更新部は、前記版数情報を、前記データ生成装置が生成した時刻に応じた値を含む版数情報に更新するものであることを特徴とする付記１または２記載のデータ生成装置。
【００９０】
（付記４）
コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置であって、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、該論理生成部は、該第２の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたことを特徴とするデータ生成装置。
【００９１】
（付記５）
前記機能情報は版数格納回路として版数格納ＲＯＭが記述されたものであり、
前記コンフィグレーションデータ生成部は、前記第２の版数更新部で更新された版数情報を格納する前記版数格納ＲＯＭを含んだコンフィグレーションデータを生成するものであることを特徴とする付記４記載のデータ生成装置。
【００９２】
（付記６）
前記配置配線部は、前回生成したコンフィグレーションデータを記憶する配置情報記憶部を有し、
前記第２の版数更新部は、生成されたコンフィグレーションデータが、前記配置情報記憶部に記憶された情報と同一である場合には、更新前の版数情報を維持するものであることを特徴とする付記４または５記載のデータ生成装置。
【００９３】
（付記７）
前記版数情報は時刻に応じた値を含むものであり、
前記第２の版数更新部は、前記版数情報を、前記データ生成装置が生成した時刻に応じた値を含む版数情報に更新するものであることを特徴とする付記４から６いずれか１項記載のデータ生成装置。
【００９４】
（付記８）
コンピュータにより実行され、該コンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、該コンピュータを、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記論理生成部は、論理回路情報が生成されるたびに、論理回路情報の版数を表す版数情報を更新する第１の版数更新部を備え、該論理生成部は、該第１の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだ論理回路情報を生成するものであるデータ生成装置として動作させることを特徴とするデータ生成プログラム。
【００９５】
（付記９）
コンピュータにより実行され、該コンピュータを、コンフィグレーションデータの取込みによって内部の回路を再構成するプログラマブル論理デバイスに取り込まれるコンフィグレーションデータを生成するデータ生成装置として機能させるデータ生成プログラムであって、該コンピュータを、
回路の論理機能が記述された機能情報を受け付け、該機能情報に応じて前記プログラマブル論理デバイスが有する種類の素子の接続を表す論理回路情報を生成する論理生成部と、
前記論理生成部で生成された論理回路情報に応じた配置配線処理を行って前記コンフィグレーションデータを生成する配置配線部とを備え、
前記配置配線部は、コンフィグレーションデータが生成されるたびに、コンフィグレーションデータの版数を表す版数情報を更新する第２の版数更新部を備え、該論理生成部は、該第２の版数更新部によって更新された版数情報が前記プログラマブル論理デバイスの外部から読出し可能に格納された版数格納回路を含んだコンフィグレーションデータを生成するコンフィグレーションデータ生成部とを備えたデータ生成装置として動作させることを特徴とするデータ生成プログラム。
【図面の簡単な説明】
【００９６】
【図１】ＦＰＧＡを用いた装置の例としての第１の装置を示すブロック図である。
【図２】ＦＰＧＡを用いた装置の例としての第２の装置を示すブロック図である。
【図３】ＦＰＧＡを用いた装置の例としての第３の装置を示すブロック図である。
【図４】図１から図３に示すＦＰＧＡで構成される回路の開発フローを説明する図である。
【図５】図４の開発フローで利用および生成される情報のファイル構成を説明する図である。
【図６】従来技術の問題を説明する図である。
【図７】ＦＰＧＡを用いた装置の例としての第４の装置を示すブロック図である。
【図８】第４の装置の開発のフローを説明する図である。
【図９】本発明のデータ変換装置の一実施形態として動作するコンピュータの外観斜視図である。
【図１０】図９に示すコンピュータのハードウェア構成図である。
【図１１】本発明のデータ生成プログラムの第１の実施形態を示す模式構成図である。
【図１２】本発明のデータ生成装置の第１の実施形態を示す機能ブロック図である。
【図１３】図１２に示すデータ生成装置の各部によって受け付けまたは生成される情報のファイル構成を説明する図である。
【図１４】本発明のデータ生成プログラムの第２の実施形態を示す模式構成図である。
【図１５】本発明のデータ生成装置の第２の実施形態を示す機能ブロック図である。
【図１６】図１５に示すデータ生成装置の各部によって受け付けまたは生成される情報のファイル構成を説明する図である。
【符号の説明】
【００９７】
５００    コンピュータ
６００    データ生成プログラム（第１のデータ生成プログラム）
７００    データ生成装置（第１のデータ生成装置）
７１０    合成ツール（論理生成部）
７１２    情報更新部（第１の版数更新部）
７１６    前回回路情報記憶部（機能情報記憶部）
７２０    レイアウトツール（配置配線部）
８００    データ生成プログラム（第２のデータ生成プログラム）
９００    データ生成装置（第２のデータ生成装置）
９１０    合成ツール（論理生成部）
９２０    レイアウトツール（配置配線部）
９２３    情報更新部（第２の版数更新部）
９２６    前回回路情報記憶部（配置情報記憶部）
【図１】
0005023918.tif 000002
【図２】
0005023918.tif 000003
【図３】
0005023918.tif 000004
【図４】
0005023918.tif 000005
【図５】
0005023918.tif 000006
【図６】
0005023918.tif 000007
【図７】
0005023918.tif 000008
【図８】
0005023918.tif 000009
【図９】
0005023918.tif 000010
【図１０】
0005023918.tif 000011
【図１１】
0005023918.tif 000012
【図１２】
0005023918.tif 000013
【図１３】
0005023918.tif 000014
【図１４】
0005023918.tif 000015
【図１５】
0005023918.tif 000016
【図１６】
0005023918.tif 000017