(57)【要約】【課題】  コンフィギュレーションに際して容易に上位機器と接続でき、一旦基盤に実装した後も再利用が可能なプログラマブル論理回路を提供すること。【解決手段】  ＦＰＧＡ１に上位機器１０，基盤３０とＵＳＢ接続するＵＳＢＩ／Ｆ１ａを設ける。ＵＳＢＩ／Ｆ１ａにより上位機器１０と接続されたとき、上位機器１０にコンフィギュレーションデータを作成するためのソフトウェアを起動せしめる。このソフトウェアにより作成されたコンフィギュレーションデータが、ＵＳＢＩ／Ｆ１ａを介して受信されたことに応じて、当該コンフィギュレーションデータに基づく論理回路を論理回路部２のユーザ領域６に設計する。その後、ＵＳＢＩ／Ｆ１ａにより基盤３０と接続されたとき、ユーザ領域６に設計した論理回路に基づいて入力信号を処理する。【選択図】    図１
2010004139.tif 000002
【特許請求の範囲】
【請求項１】
上位機器から受信したコンフィギュレーションデータに基づいて論理回路を設計する論理回路部を備え、基盤に実装された際、前記論理回路部に設計された論理回路に基づいて入力信号を処理するプログラマブル論理回路において、
前記上位機器および基盤をＵＳＢ接続するＵＳＢインターフェイスと、
前記ＵＳＢインターフェイスにより前記上位機器と接続されたとき、当該上位機器に前記コンフィギュレーションデータを作成するためのソフトウェアを起動せしめるソフトウェア起動手段と、
このソフトウェア起動手段が前記上位機器に起動せしめた前記ソフトウェアにより作成されたコンフィギュレーションデータが、前記ＵＳＢインターフェイスを介して受信されたことに応じて、当該コンフィギュレーションデータに基づく論理回路を前記論理回路部に設計するコンフィギュレーション制御手段とを備え、
前記ＵＳＢインターフェイスにより前記基盤と接続されたとき、前記コンフィギュレーション制御手段が前記論理回路部に設計した論理回路に基づいて入力信号を処理することを特徴とするプログラマブル論理回路。
【請求項２】
前記ソフトウェア起動手段と前記コンフィギュレーション制御手段とは、前記論理回路部に設計された論理回路により実現されていることを特徴とする請求項１に記載のプログラマブル論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の書き換えが可能なプログラマブル論理回路いわゆるＦＰＧＡ（Field Programmable Gate Array）に関する。
【背景技術】
【０００２】
従来、電子機器などの制御回路には、それぞれの用途に応じた集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）が用いられている。ＡＳＩＣの開発にあたっては、ユーザが望む機能を実現する集積回路を設計した後に評価用のＡＳＩＣを作製し、評価結果や機能変更等を反映して再度評価用のＡＳＩＣを作成し直すという作業が繰り返される。このような繰り返し作業が多数行われる場合には、開発期間の長期化を招いてしまう。また、開発が完了したＡＳＩＣを大量生産したにもかかわらず、回路設計に不具合が発見されたときには、これらのＡＳＩＣを破棄する他ないため、大きな損害が生じてしまう。
【０００３】
そこで、近年ではユーザが論理回路をプログラミングすることができるＦＰＧＡを使用するケースが多い。このＦＰＧＡを用いて、たとえばＡＳＩＣの試作を行うことにより開発期間の短縮が可能となるため、製品の早期市場投入が実現できる。
【０００４】
なお、ＦＰＧＡを搭載した電子機器としては、例えば特許文献１に記載のコンピュータシステムが知られている。
【特許文献１】特開平２００１−２９０７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＦＰＧＡは、本体から多数演出した０．５ｍｍ幅程度のピンを電子機器内の基盤に半田付けして実装するため、一旦基盤に実装してしまうと取外して他の電子機器に再利用することが困難である。そのため、ＦＰＧＡにプログラムされた論理回路を書き換えるためには、ＦＰＧＡのコンフィギュレーションソフトウェアがインストールされた上位機器をＦＰＧＡが実装された基盤近辺まで運び、専用のコネクタをＦＰＧＡに接続してコンフィギュレーションを行う必要があるため面倒であった。
【０００６】
また、高性能なＦＰＧＡは大変高価なため、実装された基盤から取外して再利用することができれば大幅なコスト削減に繋がる。
【０００７】
本発明は、上記のような事情に基づいてなされたものであり、その目的は、コンフィギュレーションに際して容易に上位機器と接続でき、一旦基盤に実装した後も再利用が可能なプログラマブル論理回路を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上位機器から受信したコンフィギュレーションデータに基づいて論理回路を設計する論理回路部を備え、基盤に実装された際、前記論理回路部に設計された論理回路に基づいて入力信号を処理するプログラマブル論理回路において、前記上位機器および基盤をＵＳＢ接続するＵＳＢインターフェイスと、前記ＵＳＢインターフェイスにより前記上位機器と接続されたとき、当該上位機器に前記コンフィギュレーションデータを作成するためのソフトウェアを起動せしめるソフトウェア起動手段と、このソフトウェア起動手段が前記上位機器に起動せしめた前記ソフトウェアにより作成されたコンフィギュレーションデータが、前記ＵＳＢインターフェイスを介して受信されたことに応じて、当該コンフィギュレーションデータに基づく論理回路を前記論理回路部に設計するコンフィギュレーション制御手段とを備え、前記ＵＳＢインターフェイスにより前記基盤と接続されたとき、前記コンフィギュレーション制御手段が前記論理回路部に設計した論理回路に基づいて入力信号を処理することを特徴としている。
【発明の効果】
【０００９】
かかる手段を講じた本発明によれば、コンフィギュレーションに際して容易に上位機器と接続でき、一旦基盤に実装した後も再利用が可能なプログラマブル論理回路を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について、図面を用いて説明する。  
図１は、本発明に係るプログラマブル論理回路であるＦＰＧＡ１の構成を説明するためのブロック図である。ＦＰＧＡ１は、ＵＳＢ（登録商標）インターフェイス（Ｉ／Ｆ）１ａと、電源の供給が停止した後も情報を保持する書き換え可能な論理回路部２とを備えた不揮発性のＦＰＧＡである。
【００１１】
ＵＳＢインターフェイス１ａは、ＦＰＧＡ１のコンフィギュレーションを実行する上位機器１０に設けられたＵＳＢインターフェイス１０ａや、ＦＰＧＡ１を実装する電子機器の基盤３０に設けられたＵＳＢインターフェイス３０ａとの接続を司る。
【００１２】
論理回路部２は、ＬＵＴ（Look Up Table）を定義可能な不揮発性メモリを備えた多数の論理モジュールを規則的に並べ、その間に各論理モジュールの接続を切り替えるためのスイッチとこれらスイッチの切り替え情報を記憶した不揮発性メモリとを備えた配線領域を設けて構成されている。ユーザは、後述のコンフィギュレーションにより、各論理モジュールのＬＵＴの定義および配線領域のスイッチの接続を変更することで、所望の論理回路を実現することができる。
【００１３】
本実施の形態において、論理回路部２には、予めＵＳＢドライバ回路４、ソフトウェア起動回路５およびコンフィギュレーション（ＣＯＮＦＩＧ）制御回路７が設計されている。そして、ユーザが自由に回路を設計するための領域としてユーザ領域６が用意されている。ＵＳＢドライバ回路４は、ＵＳＢインターフェイス１ａにより接続された上位機器１０や基盤３０との通信を制御する。ソフトウェア起動回路５は、ＵＳＢインターフェイス１ａに上位機器１０が接続されたことを検知して、上位機器１０が備える後述のコンフィギュレーション（ＣＯＮＦＩＧ）ソフトウェア１６ａを起動せしめる。コンフィギュレーション制御回路７は、上位機器１０から受信するコンフィギュレーションデータに基づく論理回路をユーザ領域６に設計する。
【００１４】
続いて、上位機器１０について説明する。図２は、上位機器１０の制御回路を示すブロック図である。上位機器１０は、内部に制御主体であるＣＰＵ１１を備えている。このＣＰＵ１１に対し、データ受渡しの管理等の情報流通を制御するチップセット１２、システムの起動を司るＢＩＯＳ（Basic Input/Output System）を記憶したＢＩＯＳ−ＲＯＭ１３、各種処理プログラムなどの固定的なデータを記憶したＲＯＭ１４、処理場面に応じた作業用の記憶領域を形成するＲＡＭ１５、コンフィギュレーションソフトウェア１６ａを記憶したハードディスクドライブ（ＨＤＤ）１６、ディスプレイ１７ａを接続したディスプレイコントローラ１７、ＵＳＢインターフェイス１０ａを接続したＵＳＢドライバ１８およびキーボード１９ａを接続したキーボードコントローラ１９などを、例えばＰＣＩバス等のバスライン２０を介して接続している。
【００１５】
上記ディスプレイコントローラ１７は、ＣＰＵ１１により情報処理されたデータのディスプレイ１７ａへの表示を制御する。上記ＵＳＢドライバ１８は、ＵＳＢインターフェイス１０ａに接続された機器との通信を制御する。上記キーボードコントローラ１９は、キーボード１９ａに設けられた置数キーやアルファベットキーなどが操作された際に出力される電気信号を検知してＣＰＵ１１に伝達する。
【００１６】
上記コンフィギュレーションソフトウェア１６ａは、ＦＰＧＡ１の論理回路部２に設けられたユーザ領域６をコンフィギュレーションするためのソフトウェアである。具体的には、ユーザによるプログラミングを受け付けて、当該プログラミングに基づいて論理回路を構築するためのコンフィギュレーションデータを作成する機能、および作成されたコンフィギュレーションデータをＵＳＢインターフェイス１０ａに接続されたＦＰＧＡ１に送信し、論理回路部２に設けられたユーザ領域６のコンフィギュレーションを指示する機能を備えている。
【００１７】
次に、上記のようなＦＰＧＡ１の構成による作用について説明する。  
図３は、ＦＰＧＡ１で実行される処理の流れ図である。ＦＰＧＡ１のＵＳＢインターフェイス１ａが、上位機器１０のＵＳＢインターフェイス１０ａあるいは電子機器の基盤３０が備えるＵＳＢインターフェイス３０ａに接続されたときには、上位機器１０または基盤３０側からＵＳＢインターフェイス１ａを介して電源の供給が開始されるとともに、上位機器１０または基盤３０がＦＰＧＡ１を認識するための初期信号が入力される。このときＳＴ１として、ＵＳＢドライバ回路４が上記初期信号に基づいて、接続先が上位機器１０あるいは基盤３０のいずれであるかを判別する。
【００１８】
ＵＳＢドライバ回路４により接続先が上位機器であると判別されたときには（ＳＴ１の“上位機器”）、ＳＴ２として、ソフトウェア起動回路５が上位機器１０にコンフィギュレーションソフトウェア１６ａを起動せしめる。具体的には、ＵＳＢインターフェイス１ａを介して上位機器１０にコンフィギュレーションソフトウェア１６ａの起動コマンドを送信する。この信号を受けたことに応じて、上位機器１０のＣＰＵ１１がコンフィギュレーションソフトウェア１６ａの実行プログラムをＲＡＭ１５にロードして実行する。
【００１９】
かくして起動されたコンフィギュレーションソフトウェア１６ａの制御の下、キーボード１９ａからの操作入力に応じてコンフィギュレーションデータが作成される。そして、所定の操作によりコンフィギュレーションの実行がユーザから指示されたことに応じて、ＵＳＢドライバ１８が当該コンフィギュレーションデータをＦＰＧＡ１に送信し、コンフィギュレーションの実行を指示する。
【００２０】
ＳＴ２の処理にて上位機器にコンフィギュレーションソフトウェア１６ａを起動せしめた後、ＦＰＧＡ１では、ＵＳＢドライバ回路４がコンフィギュレーションデータの受信を待機している（ＳＴ３のＮｏ）。そして、コンフィギュレーションデータを受信するとともにコンフィギュレーションの実行が指示されたときには（ＳＴ３のＹｅｓ）、ＳＴ４として、コンフィギュレーション制御回路７が当該コンフィギュレーションデータに基づく論理回路をユーザ領域６に設計する。具体的には、当該コンフィギュレーションデータが示す内容にユーザ領域６を構成する各論理モジュールのＬＵＴを定義し、配線領域のスイッチの接続を変更する。そして、一連のコンフィギュレーションが完了した後、当該処理を終了する。
【００２１】
一方、ＳＴ１の処理にてＵＳＢドライバ回路４がＵＳＢインターフェイス１ａの接続先が電子機器の基盤３０であると判別したときには（ＳＴ１の“基盤”）、ＳＴ５として、その後ＵＳＢインターフェイス１ａを介して入力される信号をユーザ領域６に設計された論理回路に基づいて処理する。この処理は、その後電源の供給が停止するまで継続されることとなる。
【００２２】
以上説明したように、本発明に係るＦＰＧＡ１は、半田付けなどを要せずにＵＳＢインターフェイス１ａを介して電子機器の基盤３０に実装可能である。これにより、一旦基盤３０に実装した後でも容易に取外して再利用することができるので、コスト削減に繋がる。
【００２３】
また、このように基盤３０から取外した後、他の電子機器で用いるために論理回路部２のユーザ領域６をコンフィギュレートする際にも、ＵＳＢインターフェイス１ａを介して容易に上位機器１０と接続することができる。そのため、いちいちコンフィギュレーションのために上位機器１０をＦＰＧＡ１が実装された基盤近辺まで運び、専用のコネクタを接続するというような面倒な作業を省略することができる。
【００２４】
また、ＵＳＢインターフェイス１ａを介してＦＰＧＡ１を上位機器１０に接続した際には、ソフトウェア起動回路５により自動的にコンフィギュレーションソフトウェア１６ａが起動されるので、ユーザはすぐにコンフィギュレーションデータのプログラミングに取り掛かることができ、コンフィギュレーションに要する作業時間の短縮に繋がる。
【００２５】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階においては、その要旨を逸脱しない範囲内にて各構成要素を適宜変形して具体化することができる。
【００２６】
例えば、ＵＳＢドライバ回路４、ソフトウェア起動回路５およびコンフィギュレーション制御回路７は、論理回路部２に設計されたものでなくとも、その全てあるいはいずれかがＦＰＧＡ１内に設けた別途の回路であってもよい。
【００２７】
また、上記実施形態では、本発明を不揮発性の論理回路部を備えたＦＰＧＡに適用した場合について説明したが、本発明は揮発性の論理回路部を備えたＦＰＧＡにも適用できる。本発明を揮発性の論理回路部を備えたＦＰＧＡに適用する場合には、ＦＰＧＡにコンフィギュレーションデータを格納するための不揮発性メモリを設ける。そして、コンフィギュレーションの際、当該不揮発性メモリにコンフィギュレーションデータを格納する。その後、基盤に実装されて電源の供給が開始されたことに応じて、当該不揮発性メモリに記憶されたコンフィギュレーションデータに基づく論理回路を論理回路部に設計するようにする。かかる構成としても、上記実施形態と同様の効果を得ることができる。
【００２８】
この他、前記実施形態に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成することができる。例えば、実施形態に示される全体構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態におけるＦＰＧＡの構成を説明するためのブロック図。
【図２】同実施形態における上位機器の制御回路を示すブロック図。
【図３】同実施形態においてＦＰＧＡで実行される処理の流れ図。
【符号の説明】
【００３０】
１…ＦＰＧＡ、１ａ…ＵＳＢインターフェイス、２…論理回路部、４…ＵＳＢドライバ回路、５…ソフトウェア起動回路、６…ユーザ領域、７…コンフィギュレーション制御回路、１０…上位機器、１０ａ…ＵＳＢインターフェイス、３０…基盤、３０ａ…ＵＳＢインターフェイス
【図１】
2010004139.tif 000003
【図２】
2010004139.tif 000004
【図３】
2010004139.tif 000005