(57)【要約】【課題】ＦＰＧＡへのコンフィグレーションデータの書込みを安価でかつ高速で実施する方法を提供する。【解決手段】起動時に、ＣＰＵによりデータメモリからコンフィグレーションデータをパラレルに読み込むと共に、その読み込んだコンフィグレーションデータをシリアルに変換してＦＰＧＡに転送しそのファブリックにコンフィグレーションする。【選択図】図１
2010271962.tif 000002
【特許請求の範囲】
【請求項１】
コンフィグレーションデータが格納されるパラレルＲＯＭに、コンフィグレーションデータ書込み制御ＣＰＵを接続し、
起動時に、上記ＣＰＵにより上記パラレルＲＯＭからコンフィグレーションデータをパラレルに読み込むと共に、その読み込んだコンフィグレーションデータをシリアルに変換してＦＰＧＡに転送しそのファブリックにコンフィグレーションすることを特徴とするＦＰＧＡのコンフィグレーション方法。
【請求項２】
上記ＦＰＧＡにコンフィグレーションデータの書込みが完了するまでは、当該ＦＰＧＡが信号出力することを禁止する、ことを特徴とする請求項１に記載の方法。
【請求項３】
プログラマブルコントローラの制御を行う回路情報をコンフィグレーションデータとして格納するパラレルＲＯＭと、コンフィグレーションデータが書き込まれるＦＰＧＡと、パラレルＲＯＭに格納のコンフィグレーションデータをＦＰＧＡに書込み制御するＣＰＵとを含み、電源起動時にＦＰＧＡに上記コンフィグレーションデータが書き込まれるようになっている、ことを特徴とするプログラマブルコントローラ。
【請求項４】
上記ＣＰＵは、上記ＦＰＧＡにコンフィグレーションデータの書込みが完了するまでは、当該ＦＰＧＡが信号出力することを禁止するよう制御する、ことを特徴とする請求項３に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）へのコンフィグレーション（回路情報書込み）方法に関するものである。
【背景技術】
【０００２】
ＦＰＧＡは、多数の小さな論理セル（論理ブロック）と、これら論理セルの間に縦横に張り巡らされた配線網とを有して構成されており、複数の論理セルを組み合わせ、チップ内部の自由な配線領域で接続することにより、非常に自由度が高く、大規模で高速な回路を実現できる。ＦＰＧＡには、例えばＬＵＴ（ＬｏｏｋＵｐＴａｂｌｅ）アーキテクチャ構造のものが製品化されている。ＬＵＴとは、入力の組み合わせによって予め決められた出力が得られるメモリのことであり、ＬＵＴとフリップフロップやマルチプレクサを内蔵したＣＬＢ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｌｏｇｉｃ  Ｂｌｏｃｋ）で論理セルを実現している。このＬＵＴは、構造がＳＲＡＭと似ており、高集積化しやすいなどの特徴から、ＣＰＬＤよりも大規模なロジック回路を実現できる。
【０００３】
ただし、ＦＰＧＡでは、回路情報を記憶する部分がＳＲＡＭベースであるため、電源を切ってしまうと回路情報が失われてしまう。そのため、回路情報を保持するためのコンフィグレーションＲＯＭを設け、電源投入と同時にコンフィグレーションＲＯＭに格納されている回路情報をＦＰＧＡに書込む（コンフィグレーション）ようになっている。
【０００４】
図４を参照して従来のＦＰＧＡへのコンフィグレーション方法を説明すると、このコンフィグレーションＲＯＭ２２は、シリアルＲＯＭであり、コンフィグレーションデータをシリアルデータとして記憶している。そして、電源投入時には、コンフィグレーションＲＯＭ２２からコンフィグレーションデータをシリアルに変換してＦＰＧＡ２３に書き込む。この場合、ＦＰＧＡ２３は、コンフィグレーション専用コントローラ２３ａと、回路情報が書き込まれるファブリック（プログラマブルロジック部）２３ｂとを備える。
【０００５】
ＦＰＧＡ２３はコンフィグレーション専用コントローラ２３ａからクロックをコンフィグレーションＲＯＭ２２に入力し、このクロックに同期してコンフィグレーションＲＯＭ２２からコンフィグレーションデータをシリアルに変換してＦＰＧＡファブリック２３ｂに書き込むようになっている。こうしてＦＰＧＡファブリック２３ｂにはそのコンフィグレーションデータに対応した内部回路が構成される。
【０００６】
しかしながら、従来のコンフィグレーション方法では、コンフィグレーションＲＯＭ２２が上記書込み専用として必要であり、このコンフィグレーションＲＯＭ２２はワンタイムの書き込みが多く価格が極めて高価であるだけでなく、近年のＦＰＧＡの高集積化にコンフィグレーションＲＯＭの容量がシリアルＲＯＭであるがゆえに不足しており、そのため２個使い４個使いとＦＰＧＡに使用するコンフィグレーションＲＯＭ数も増す状況にあり、これらが製品のコスト上昇を招いているうえに、コンフィグレーションＲＯＭ２２からＦＰＧＡ２３への書込み制御の主体が、ＦＰＧＡ２３であるためにコンフィグレーションＲＯＭ２２からＦＰＧＡ２３への回路情報の書込みにも時間がかかる、という課題があった。
【０００７】
なお、このＦＰＧＡへのコンフィグレーションデータの書込みの先行技術を以下にあげる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−５２３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明により解決すべき課題は、ＦＰＧＡへの回路情報の書込みを安価でかつ高速で実施できるようにすることである。
【課題を解決するための手段】
【００１０】
本発明によるＦＰＧＡへのコンフィグレーション方法は、ＣＰＵにデータメモリと、ＦＰＧＡとを接続し、このデータメモリをパラレルＲＯＭで構成すると共に、内部にコンフィグレーションデータを格納する一方、起動時には、ＣＰＵによりデータメモリからコンフィグレーションデータをパラレルに読み込むと共に、その読み込んだコンフィグレーションデータをシリアルに変換してＦＰＧＡに転送しそのファブリックにコンフィグレーションする、ことを特徴とするものである。
【００１１】
本発明では、データメモリに回路情報を格納すると共に、起動時には、ＣＰＵによりデータメモリからコンフィグレーションデータを読み込むと共に、そのコンフィグレーションデータをシリアル変換してＦＰＧＡのファブリックに書き込むようにしたから、従来のシリアルＲＯＭである高価なコンフィグレーションＲＯＭを用いるようなこともなく、さらに、容量が大きいパラレルＲＯＭを用いるので、従来のシリアルＲＯＭであるコンフィグレーションＲＯＭのように数個使いする必要もなくなり、製品コストを大幅に低減することができるようになった。そのうえ、ＣＰＵにより直接、ＦＰＧＡに回路情報の書込みを制御するから、高速での書き込みが可能となる。
【発明の効果】
【００１２】
本発明によれば、ＦＰＧＡへのコンフィグレーションデータの書込みを安価でかつ高速で実施することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の実施の形態にかかるＦＰＧＡへのコンフィグレーション方法の実施に用いるＦＰＧＡとそのＦＰＧＡへの回路情報の書込み回路とを示す図である。
【図２】図２は本発明の実施の形態が適用されるＰＬＣの一構成例を示す図である。
【図３】図３は本発明の実施の形態が適用されるＰＬＣの他の構成例を示す図である。
【図４】図４は、従来にかかるＦＰＧＡとそのＦＰＧＡへの回路情報の書込み回路とを示す図である。
【発明を実施するための形態】
【００１４】
以下、添付した図面を参照して、本発明の実施の形態に係るＦＰＧＡへのコンフィグレーション方法を説明する。図１は同方法が適用されるＦＰＧＡとそのＦＰＧＡへのコンフィグレーションデータ（回路情報）の書込み回路とを示す。同図を参照して、実施の形態のコンフィグレーション方法を説明すると、ＲＯＭ１には、コンフィグレーションデータが格納されている。このＲＯＭ１は、容量が大きいパラレルＲＯＭである。ＣＰＵ２は、電源起動時において、ＲＯＭ１に格納されているコンフィグレーションデータをパラレルに読み込み、次いで、シリアルに変換してＦＰＧＡ３のファブリック３ｂに書き込む。ＦＰＧＡ３はコンフィグレーション専用コントローラ３ａを備えるが、ＦＰＧＡ３のファブリック３ｂへのコンフィグレーションデータの書込みはＣＰＵ２が制御する。よって、ＦＰＧＡ３のファブリック３ｂへのコンフィグレーションデータの書込み速度は従来のＦＰＧＡ３自体がコンフィグレーション専用コントローラ３ａにより行う場合よりも高速化できる。また、実施の形態では、ＲＯＭ１はパラレルＲＯＭであることにより、安価でかつその容量が大きいので、従来のように高価なコンフィグレーションＲＯＭを数個使いする必要が少なくなり、製品コストを低減することに貢献できる。
【００１５】
なお、ＲＯＭ１とＣＰＵ２とでＦＰＧＡ３へのコンフィグレーションデータ書込み回路を構成する。ＦＰＧＡ３に書き込む回路は特に限定されず、何でもよい。
【００１６】
図２は図１のコンフィグレーション方法を実施するＰＬＣの回路を示す。ＰＬＣはプログラマブルコントローラまたはプログラマブルロジックコントローラの略称であり、産業機械の制御に汎用されている。図２に示すＰＬＣは、ビルディングブロックタイプのＰＬＣである。ビルディングブロックタイプのＰＬＣは、複数のモジュールから構成される。この複数のモジュールとしては、電源モジュール、ＣＰＵモジュール、入力モジュール、出力モジュール、通信モジュール等がある。ＣＰＵモジュールは、内部にＣＰＵ、Ｉ／Ｏメモリ、プログラムメモリ等を有し、このＣＰＵは、入力モジュールで入力した信号をＩ／Ｏメモリに取り込むＩＮリフレッシュ処理を行い、プログラムメモリ内のシーケンスプログラムに基づき演算実行し、その演算実行結果をＩ／Ｏメモリに書き込んで出力モジュールに送り出すＯＵＴリフレッシュ処理を行い、その後、通信モジュールを介して通信ネットワーク上の他のＰＬＣとデータ送受信を行ったり、ＣＰＵモジュールに備えられた通信ポートを介して外部のＰＣ等とデータ送受信などを行ったりする周辺処理を行う一連の処理をサイクリックに繰り返す。入力モジュールにはセンサ等の入力機器が、出力モジュールにはアクチュエータ等の外部機器が接続される。センサ等の入力機器は制御装置の状態をセンシングしその情報を入力モジュールに入力し、アクチュエータ等の外部機器は出力モジュールからの出力に応答して制御装置を駆動する。
【００１７】
図２に示すＰＬＣは、上記モジュールのうち、ＣＰＵモジュール４と、出力モジュール５とを示す。図２に示すＣＰＵモジュール４は、上記図１で説明したコンフィグレーションデータ書込み回路６を内蔵する。この回路６は、パラレルＲＯＭ１と、コンフィグレーションデータ書込み制御ＣＰＵ２とを含む。このコンフィグレーションデータはＦＰＧＡ３をＰＬＣの制御を司る制御回路に構成するデータである。コンフィグレーションデータ書込み制御ＣＰＵ２は、ＰＬＣの電源起動時に、パラレルＲＯＭ１からコンフィグレーションデータをパラレルに読み込むと共に、この読み込んだコンフィグレーションデータをシリアルに変換してＦＰＧＡ３に転送してダウンロードする。これによりＦＰＧＡ３はＰＬＣ制御回路に構成される。ＣＰＵモジュール４においてＰＬＣ制御回路は、出力モジュール５に対して例えば制御信号の出力タイミングの制御を司る。
【００１８】
そして、実施の形態では、このＦＰＧＡ３がＰＬＣ制御回路に構成されるまでは、ＦＰＧＡ３が出力モジュール５にアクセスして当該出力モジュール５を制御する信号を出力することがないように、アクセス禁止信号を出力し、ＦＰＧＡ３をＰＬＣ制御回路に構成することが完了した時点で、アクセス許可信号を出力する。こうすることで、出力モジュール５が異常出力を出力することがないようにしてＰＬＣの安全を図っている。
【００１９】
図３はＰＬＣの他の構成例を示す。図３に示すＰＬＣにおいては、ＦＰＧＡ３と出力モジュール５との間にゲート７を設けたものである。図３に示す実施の形態では、ＦＰＧＡ３がＰＬＣ制御回路に構成されるまでは、ＦＰＧＡ３が出力モジュール５にアクセスして当該出力モジュール５を制御する信号を出力することがないように、ＣＰＵ２からのゲート制御信号によりゲート７を閉じる一方、ＦＰＧＡ３をＰＬＣ制御回路に構成することが完了した時点で、ＣＰＵ２からのゲート制御信号によりゲート７を開ける。こうすることで、出力モジュール５が異常出力を出力することがないようにしてＰＬＣの安全を図っている。
【符号の説明】
【００２０】
１  ＲＯＭ
２  ＣＰＵ
３  ＦＰＧＡ
４  ＣＰＵモジュール
５  出力モジュール
６  コンフィグレーションデータ書込み回路
【図１】
2010271962.tif 000003
【図２】
2010271962.tif 000004
【図３】
2010271962.tif 000005
【図４】
2010271962.tif 000006