(57)【要約】【課題】作業者（設計者）が意識することなくコンフィグレーションデータのリビジョン管理を行うことを可能し、また、コンフィグレーションＲＯＭ自体でリビジョン情報を確認することを可能にする。【解決手段】コンフィグレーションＲＯＭに書き込むべきコンフィグレーションデータを指定し、該指定したコンフィグレーションデータの書き込み履歴が無いときはそのリビジョン情報を生成して、指定したコンフィグレーションデータと共にその生成したレジジョン情報をコンフィグレーションＲＯＭに書き込み、書き込み履歴を更新する。指定したコンフィグレーションデータの書き込み履歴がある場合には、指定したコンフィグレーションデータおよび書き込み履歴から得たそのリビジョン情報をコンフィグレーションＲＯＭに書き込む。【選択図】図２
2007233761.tif 000002
【特許請求の範囲】
【請求項１】
回路をプログラマブルロジックに構成するためのコンフィグレーションデータをコンフィグレーションＲＯＭに書き込む際のリビジョン管理を行う方法であって、
書き込むべきコンフィグレーションデータを指定し、該指定したコンフィグレーションデータについて過去の書き込み履歴を参照し、
前記指定したコンフィグレーションデータの書き込み履歴が無い場合には、前記指定したコンフィグレーションデータのリビジョン情報を生成し、前記指定したコンフィグレーションデータおよび前記生成したリビジョン情報を前記コンフィグレーションＲＯＭに書き込むと共に、前記書き込み履歴の更新を行い、
前記指定したコンフィグレーションデータの書き込み履歴がある場合には、前記指定したコンフィグレーションデータおよび前記書き込み履歴から得た前記指定したコンフィグレーションデータのリビジョン情報を前記コンフィグレーションＲＯＭに書き込むことを特徴とするコンフィグレーションデータのリビジョン管理方法。
【請求項２】
前記コンフィグレーションデータの指定を、同一の回路情報から異なる設定で生成した、異なるコンフィグレーションデータを含む複数のコンフィグレーションデータの中から行うことを特徴とする請求項１記載のリビジョン管理方法。
【請求項３】
回路をプログラマブルロジックに構成するためのコンフィグレーションデータをコンフィグレーションＲＯＭに書き込む際のリビジョン管理を行う装置であって、
複数のコンフィグレーションデータと共に、前記コンフィグレーションＲＯＭに対する過去の書き込み履歴を有し、
前記複数のコンフィグレーションデータの中から１つの書き込むべきコンフィグレーションデータを指定したときに、前記書き込み履歴を参照し、
前記指定したコンフィグレーションデータの書き込み履歴が無い場合には、前記指定したコンフィグレーションデータのリビジョン情報を生成して、前記指定したコンフィグレーションデータおよび前記生成したレジジョン情報を前記コンフィグレーションＲＯＭに書き込むと共に、前記書き込み履歴の更新を行い、
前記指定したコンフィグレーションデータの書き込み履歴がある場合には、前記指定したコンフィグレーションデータおよび前記書き込み履歴から得た前記指定したコンフィグレーションデータのリビジョン情報を前記コンフィグレーションＲＯＭに書き込むことを特徴とするコンフィグレーションデータのリビジョン管理装置。
【請求項４】
前記複数のコンフィグレーションデータが、同一の回路情報から異なる設定で生成した、異なるコンフィグレーションデータを含むことを特徴とする請求項３記載のリビジョン管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（Field Programmble Gate Array)等のプログラムロジックで構成される回路のコンフィグレーションデータのリビジョン情報を管理するリビジョン管理方法およびその管理方法を実施する際に直接使用するリビジョン管理装置に関するものである。
【背景技術】
【０００２】
プログラマブルロジック、例えばＦＰＧＡに回路を構成する際は、図３に示すように、コンピュータ３０により、コンフィグレーションデータ５０を取り込んでコンフィグレーションＲＯＭ（通常はＥＥＰＲＯＭ）２０Ａに書き込み、そのコンフィグレーションＲＯＭ２０Ａに書き込まれたコンフィグレーションデータをＪＴＡＧ等のインターフェースを用いてＦＰＧＡ１０Ａ内のコンフィグレーションＲＡＭ（通常はＳＲＡＭ）１２に読み込んで、ロジックモジュール１１に対してコンフィグレーションデータで定義される回路を構成すると共に、その状態を保持する。従って、必要とする回路の仕様が変更になった場合、その仕様に応じたコンフィグレーションデータを作成し、コンフィグレーションＲＯＭ２０Ａに書き込んで供給することにより、迅速にＦＰＧＡ１０Ａ内の回路変更を行うことができる。
【０００３】
ＦＰＧＡによる回路生成では、通常、ＣＡＤツールを用いて生成した回路データ（ＲＴＬデータ）を、使用するＦＰＧＡのメーカの供給するツールを用いてコンパイルし、さらに、使用する品種に合わせたロジックエレメントの配置およびその間の配線が定義されたコンフィグレーションデータを作成する。当然、回路データが異なればコンフィグレーションデータは異なる。また、同じ回路データから作成したコンフィグレーションデータであっても、設定によって異なるコンフィグレーションデータが生成される。従って、異なる回路データに対応するもの、および、同一の回路データに対応するものを含めて、複数のコンフィグレーションデータが生成される。
【０００４】
これらの複数のコンフィグレーションデータの中から、当該のＦＰＧＡに記憶させるべきものが指定されると、そのコンフィグレーションデータがコンフィグレーションＲＯＭに書き込まれる。間違ったコンフィグレーションデータをコンフィグレーションＲＯＭに記憶させたのでは、所望の動作が行われない（同じ回路データから生成したコンフィグレーションデータであっても、異なる設定で生成したコンフィグレーションデータでは正常に動作しない場合もある）ので、当該のコンフィグレーションＲＯＭがどのコンフィグレーションデータが書き込まれたものであるかが識別できることが好ましい。
【０００５】
従来では、この識別のため、そのコンフィグレーションデータに関するファイル名、フォルダ名、更新日付等の固有データ示す番号や記号等からなるリビジョン情報を作成し、このリビジョン情報が表示されたラベルを用意して、このラベルをコンフィグレーションＲＯＭに貼り付け、そのコンフィグレーションＲＯＭ（もしくは、ＲＯＭに書き込まれたコンフィグレーションデータ）のリビジョン管理が行われていた。
【０００６】
しかし、ラベルでは、コンフィグレーションＲＯＭが取り付けられたボードを機器から取り外さないとリビジョン情報が確認できないという問題がある。また、ラベルの表示が不鮮明になったり、間違ったラベルが貼り付けられたりする場合もあった。
【０００７】
そこで、コンフィグレーションデータの一部としてバージョン情報（リビジョン情報と同じ）を付与し、ＦＰＧＡ内にそのバージョン情報を格納する記憶部を設けることが提案されている（例えば、特許文献１）。
【特許文献１】特開２００２−１６９７０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ＦＰＧＡ内にバージョン情報を格納する記憶部を設ける手法では、バージョン情報がＦＰＧＡとして構成される回路として生成されるので、設計者が回路データの一部として予め作り込まなければならず、作業者の負担が大きく、まちがいが起こりやすい。また、回路データの一部として作成するものであるため、同じ回路データから作成した複数のコンフィグレーションデータに対しては、生成時の設定が異なっていたとしても同一のバージョン情報が付与される。従って、この方法で付与されるバージョン情報では、異なる設定で生成した複数のコンフィグレーションデータ間の区別ができないという限界がある。
【０００９】
しかも、ＦＰＧＡ内にバージョン情報を格納するため、そのバージョン情報は、コンフィグレーションデータをＦＰＧＡに読み込んだ（コンフィグレーションを行った）後でないと確認することができない。
【００１０】
本発明の目的は、作業者（設計者）が意識することなく、コンフィグレーションデータのリビジョン管理を行うことを可能にし、また、コンフィグレーション実行の有無に関係なく、コンフィグレーションＲＯＭ自体でリビジョン情報を確認することを可能にしたリビジョン管理方法および装置を提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１にかかる発明は、回路をプログラマブルロジックに構成するためのコンフィグレーションデータをコンフィグレーションＲＯＭに書き込む際のリビジョン管理を行う方法であって、書き込むべきコンフィグレーションデータを指定し、該指定したコンフィグレーションデータについて過去の書き込み履歴を参照し、前記指定したコンフィグレーションデータの書き込み履歴が無い場合には、前記指定したコンフィグレーションデータのリビジョン情報を生成し、前記指定したコンフィグレーションデータおよび前記生成したリビジョン情報を前記コンフィグレーションＲＯＭに書き込むと共に、前記書き込み履歴の更新を行い、前記指定したコンフィグレーションデータの書き込み履歴がある場合には、前記指定したコンフィグレーションデータおよび前記書き込み履歴から得た前記指定したコンフィグレーションデータのリビジョン情報を前記コンフィグレーションＲＯＭに書き込むことを特徴とする。
請求項２にかかる発明は、請求項１にかかる発明において、前記コンフィグレーションデータの指定を、同一の回路情報から異なる設定で生成した、異なるコンフィグレーションデータを含む複数のコンフィグレーションデータの中から行うことを特徴とする。
請求項３にかかる発明は、回路をプログラマブルロジックに構成するためのコンフィグレーションデータをコンフィグレーションＲＯＭに書き込む際のリビジョン管理を行う装置であって、複数のコンフィグレーションデータと共に、前記コンフィグレーションＲＯＭに対する過去の書き込み履歴を有し、前記複数のコンフィグレーションデータの中から１つの書き込むべきコンフィグレーションデータを指定したときに、前記書き込み履歴を参照し、前記指定したコンフィグレーションデータの書き込み履歴が無い場合には、前記指定したコンフィグレーションデータのリビジョン情報を生成して、前記指定したコンフィグレーションデータおよび前記生成したレジジョン情報を前記コンフィグレーションＲＯＭに書き込むと共に、前記書き込み履歴の更新を行い、前記指定したコンフィグレーションデータの書き込み履歴がある場合には、前記指定したコンフィグレーションデータおよび前記書き込み履歴から得た前記指定したコンフィグレーションデータのリビジョン情報を前記コンフィグレーションＲＯＭに書き込むことを特徴とする。
請求項４にかかる発明は、請求項３にかかる発明において、前記複数のコンフィグレーションデータが、同一の回路情報から異なる設定で生成した、異なるコンフィグレーションデータを含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、コンフィグレーションデータをコンフィグレーションＲＯＭに書き込む際に、そのコンフィグレーションＲＯＭにそのコンフィグレーションデータのリビジョン情報が同時に書き込まれるので、作業者（設計者）が意識することなく、そのリビジョン管理を行うことが可能となる。また、コンフィグレーションＲＯＭの読み出しを行うことで、コンフィグレーションＲＯＭ単体、つまりプログラマブルロジックと無関係にリビジョン情報を確認することが可能となる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施例では、コンフィグレーションデータを記憶するコンフィグレーションＲＯＭに、コンフィグレーションデータの格納領域とは別に、リビジョン情報用の格納領域を設け、ここに当該コンフィグレーションデータのリビジョン情報を書き込む。
【００１４】
図１はリビジョン管理を備えたＦＰＧＡ書き込みシステムの構成を示す図である。１０はＦＰＧＡであり、所望の回路を生成するロジックモジュール１１と、該ロジックモジュール１１に生成させる回路を定義するコンフィグレーションデータを保持するコンフィグレーションＲＡＭ１２とを有する。２０はコンフィグレーションＲＯＭであり、コンフィグレーションデータを格納するためのコンフィグレーションデータ格納部２１とそのコンフィグレーションデータ格納部２１に格納されたコンフィグレーションデータのリビジョン情報を格納するためのリビジョン情報格納部２２をもつ。３０はＲＯＭライタとしても機能するコンピュータであり、コンフィグレーションデータやリビジョン情報をコンフィグレーションＲＯＭ１０に書き込んだり、コンフィグレーションＲＯＭ１０内のリビジョン情報を表示したり、コンフィグレーションデータの書き込み履歴の管理その他を行う。４０はその書き込み履歴を格納するデータベース、５０は複数のコンフィグレーションデータを記憶する記憶部である。
【００１５】
さて、ＦＰＧＡ１０への回路書き込みに際しては、まずコンフィグレーションＲＯＭ２０の書き換えを行うプログラム上で、そのコンフィグレーションＲＯＭ２０に書き込むコンフィグレーションデータを、記憶部１０に記憶された複数のコンフィグレーションデータの中から指定する。すると、プログラムが、そのコンフィグレーションデータの固定データを抽出する。この固定データとして使用できるものとしては、ファイル名、フォルダ名、更新日時、コンフィグレーションデータ作成の際に発生させるランダムデータ等がある。書き込み履歴のデータベース４０へ格納する履歴データとしては、この固定データとその書き込み日時等の付加情報を使用する。
【００１６】
図２はコンフィグレーションＲＯＭ２０へのコンフィグレーションデータの書き込みと読み出しの処理のフローチャートである。データ書き込みの際（Ｓ１−Ｙ）は、書き込むべき１つのコンフィグレーションデータを、複数のコンフィグレーションデータの中から指定（Ｓ２）する。複数のコンフィグレーションデータには、同一の回路情報から異なる設定で生成した異なるコンフィグレーションデータが含まれる。次に、その指定したコンフィグレーションデータについて過去に書き込まれた経緯があるか否かの書き込み履歴を、当該コンフィグレーションデータの固定データをキーとしてデータベース４０を参照して検索する（Ｓ３）。
【００１７】
そして、そのデータベース４０にその書き込み履歴がない場合（Ｓ４−Ｎ）は、前記指定したコンフィグレーションデータの固定データを示す番号や記号からなるリビジョン情報を生成して（Ｓ５）から、コンフィグレーションＲＯＭ２０のコンフィグレーションデータ格納部２１に対して該指定したコンフィグレーションデータを書き込み、且つそのリビジョン情報格納部２２にリビジョン情報を書き込む（Ｓ７）。そして、データベース４０の書き込み履歴に、当該書き込んだコンフィグレーションデータの固有データと付加情報に加えて、リビジョン情報を格納し、その履歴を更新する（Ｓ８）。
【００１８】
一方、指定したコンフィグレーションデータの書き込み履歴がデータベース４０で検索できたとき（Ｓ４−Ｙ）は、書き込み履歴を参照して、当該指定したコンフィグレーションデータのリビジョン情報を読み取り（Ｓ６）、コンフィグレーションＲＯＭ２０に対して該指定したコンフィグレーションデータおよびそのリビジョン情報を、前記と同様に書き込む（Ｓ７）。さらに、データベース４０の書き込み履歴に、書き込み日時を示す付加情報を追加し、その履歴を更新してもよい（Ｓ８）。
【００１９】
また、データ読み出しの際（Ｓ１−Ｎ）は、コンフィグレーションデータＲＯＭ２０のリビジョン情報格納部２２に格納されたリビジョン情報を読み出し（Ｓ９）、そのリビジョン情報をキーとしてデータベース４０の書き込み履歴を参照する（Ｓ１０）。そして、リビジョン情報とともに、そのリビジョン情報で指定される固有データや付加情報を表示する（Ｓ１１）。これにより、コンフィグレーションＲＯＭ２０単体でリビジョン情報を確認することができる。なお、ステップＳ１１での表示は、固有データや付加情報までは表示せず、リビジョン情報（つまり、番号や記号）のみであってもよく、このときは書き込み履歴参照（Ｓ１０）は不要である。
【００２０】
なお、図１の実施例では１台のコンピュータによって１個のＦＰＧＡにコンフィグレーションデータを書き込む場合について説明したが、２台以上のコンピュータを使用して同じプロジェクトのコンフィグレーションデータを２個以上のＦＰＧＡに書き込む場合には、書き込み履歴を共通のデータベースで管理することが望ましい。また、２以上のプロジェクトのコンフィグレーションデータを２個以上のＦＰＧＡに書き込む場合には、使用するコンピュータの台数にかかわらず、書き込み履歴の管理をコンフィグレーションデータ毎に、個別のデータベースで行うことが望ましい。
【００２１】
以上により、コンフィグレーションＲＯＭ２０にはそこに書き込まれているコンフィグレーションデータのリビジョン情報が自動的に書き込まれる。このため、リビジョン情報の作成や管理のために特別な作業は必要なくなる。また、このコンフィグレーションＲＯＭ２０に書き込まれたリビジョン情報はＦＰＧＡと無関係に読み出すことができ、さらにリビジョン情報で指定される固有データや付加情報は書き込み履歴としてデータベース４０でも管理されるので、後の再書き込みの際の確認にも利用できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例のＦＰＧＡ書き込みシステムの構成図である。
【図２】コンフィグレーションＲＯＭの書き込み／読み出しの処理のフローチャートである。
【図３】従来のＦＰＧＡ書き込みシステムの構成図である。
【符号の説明】
【００２３】
１０，１０Ａ：ＦＰＧＡ、１１：ロジックモジュール、１２：コンフィグレーションＲＡＭ
２０：コンフィグレーションＲＯＭ、２１：コンフィグレーションデータ格納部、２２：リビジョン情報格納部
３０：コンピュータ
４０：データベース
５０：記憶部
【図１】
2007233761.tif 000003
【図２】
2007233761.tif 000004
【図３】
2007233761.tif 000005