(57)【要約】  複数のＦＰＧＡにコンフィグレーションデータを供給するコンフィグレーション装置は、複数のＦＰＧＡへ供給されるコンフィグレーションデータを記憶するメモリと、メモリから読み出されたコンフィグレーションデータをそれぞれ固有のコンフィグレーション形式にしたがって出力する複数のインタフェース部と、複数のＦＰＧＡについてそのコンフィグレーションに使用すべきインタフェース部を複数のインタフェース部から選択するインタフェース選択部と、インタフェース選択部の選択に従ってＦＰＧＡとインタフェース部との間を接続する回線の回線交換を行う回線交換部と、を備える。
2008152697.tif 000002
【特許請求の範囲】
【請求項１】
複数のＦＰＧＡにコンフィグレーションデータを供給するコンフィグレーション装置であって、
前記複数のＦＰＧＡへ供給されるコンフィグレーションデータを記憶するメモリと、
前記メモリから読み出された前記コンフィグレーションデータをそれぞれ固有のコンフィグレーション形式にしたがって出力する複数のインタフェース部と、
前記複数のＦＰＧＡについて、そのコンフィグレーションに使用すべきインタフェース部を前記複数のインタフェース部から選択するインタフェース選択部と、
前記インタフェース選択部の選択に従って前記ＦＰＧＡと前記インタフェース部との間を接続する回線の回線交換を行う回線交換部と、
を備えることを特徴とするコンフィグレーション装置。
【請求項２】
前記メモリからコンフィグレーションデータを読み出すべきＦＰＧＡを前記複数のＦＰＧＡから順次選択するＦＰＧＡ選択部と、
前記ＦＰＧＡ選択部により選択されたＦＰＧＡ用のコンフィグレーションデータを前記メモリから読み出す処理を行うメモリ制御部と、
前記メモリからのデータ読み出し処理を要求する読み出し要求命令を前記複数のインタフェース部から前記メモリ制御部へ各々出力する制御回線のうち、前記選択されたＦＰＧＡに使用すべきインタフェース部からの制御回線を、前記メモリ制御部へ接続するセレクタと、を備え、
前記インタフェース部は、前記メモリから読み出したコンフィグレーションデータを前記ＦＰＧＡへ出力するまでの間保持するバッファを有することを特徴とする請求項１に記載のコンフィグレーション装置。
【請求項３】
前記複数のＦＰＧＡのデバイスＩＤを識別するデバイスＩＤ識別部をさらに備え、
前記インタフェース選択部は、前記複数のＦＰＧＡのデバイスＩＤに基づき、そのコンフィグレーションに使用すべきインタフェース部を選択する、
ことを特徴とする請求項１又は２に記載のコンフィグレーション装置。
【請求項４】
前記メモリから読み出されたコンフィグレーションデータの正当性を判定する正当性判定部をさらに備えることを特徴とする請求項１〜３のいずれか一項に記載のコンフィグレーション装置。
【請求項５】
前記正当性判定部は、前記メモリに記憶された複数個の同一データ同士の多数決論理によって、前記コンフィグレーションデータの正当性を判定することを特徴とする請求項４に記載のコンフィグレーション装置。
【請求項６】
前記正当性判定部は、前記メモリに記憶された前記コンフィグレーションデータのパリティデータによって前記コンフィグレーションデータの正当性を判定することを特徴とする請求項４に記載のコンフィグレーション装置。
【請求項７】
前記正当性判定部は、前記メモリに記憶された前記コンフィグレーションデータのＥＣＣビットによって前記コンフィグレーションデータの正当性を判定することを特徴とする請求項４に記載のコンフィグレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンフィグレーションデータをＦＰＧＡ(Field Programmable Gate Array)に供給するためのコンフィグレーション装置に関する。特に複数のＦＰＧＡにコンフィグレーションデータを供給するコンフィグレーション装置に関する。
【背景技術】
【０００２】
ＦＰＧＡは、一種のゲートアレーであり、論理回路としての入出力端子情報や内部の論理機能回路情報をコンフィギュレーションデータとして管理でき、フィールドにおいて論理回路を変更できるため、汎用性の高いハードウェアとして情報処理システムや通信システムに広く使用されている。
コンフィギュレーションデータは、ＦＰＧＡとは別の外部メモリに格納され、必要に応じて該メモリから読み出された後、ＦＰＧＡに書き込まれ、ＦＰＧＡのコンフィギュレーションを定めることにより、コンフィギュレーションデータに基づくハードウェア機能を実現できる。【０００３】
複数個のＦＰＧＡをコンフィグレーションする場合においては、ＦＰＧＡ毎に専用のコンフィグレーション用回路を設けなくてはならないため、コストや回路基板上の実装面積が問題となっている。
このため下記特許文献１に記載のコンピュータシステムでは、図１に示すように、複数のＦＰＧＡ用のコンフィグレーションデータを１つのフラッシュＲＯＭ内に格納しこれを複数のＦＰＧＡへ分配するデータ分配機能部を設けることによって、コンフィグレーションデータを保存するメモリを共通化し部品点数を低減させている。【０００４】
図１に示すコンピュータシステム９０は、ＦＰＧＡ９４ａ〜９４ｃのコンフィグレーションデータを格納するＦＲＯＭ（フラッシュメモリ）９１と、ＣＰＵ９２と、ＦＰＧＡデータ分配機能部９３と、からなるコンフィグレーション回路と、ＦＰＧＡデータ分配機能部９３からコンフィグレーションデータをダウンロードして起動するＦＰＧＡ９４ａ〜９４ｃとから構成されている。【０００５】
図２は、ＦＰＧＡデータ分配機能部９３の構成を示すブロック図である。ＦＰＧＡデータ分配機能部９３は、ＦＲＯＭアクセス制御部１００と、シーケンス識別部１０１と、第１から第３のメーカ種別識別部１０２、１０３、１０４と、第１から第３のＦＰＧＡインタフェース部１０５、１０６、１０７と、コンフィグレーション完了検出部１０８とから構成される。ＦＲＯＭアクセス制御部１００は、ＦＲＯＭ９１に格納されたコンフィグレーションデータの読み出し、コンフィグレーションデータの設定終了時におけるＦＲＯＭ９１へのアクセス中止、ＣＰＵ９２からＦＲＯＭ９１へのアクセスの中継を行う。【０００６】
シーケンス識別部１０１は、ＦＲＯＭアクセス制御部１００から読み出されたコンフィグレーションデータからシーケンス種別を識別し、識別されたシーケンス種別に基づいた経路にコンフィグレーションデータを出力する。
メーカ種別識別部１０２、１０３、１０４は、各経路に出力されたコンフィグレーションデータのからメーカ種別を識別し、メーカ種別の認識結果をコンフィグレーションデータとともに出力する。【０００７】
ＦＰＧＡインタフェース部１０５、１０６、１０７は、メーカ種別の認識結果に基づいて、コンフィグレーションデータをそれぞれのメーカ固有のデータ形式に変換して出力する。
コンフィグレーション完了検出部１０８は、各ＦＰＧＡ９４ａ〜９４ｃのコンフィグレーション状態を監視してＦＲＯＭアクセス制御部１００に通知する。【０００８】
なお下記特許文献２には、コントローラが複数のコンフィグレーションデータの中から１つを選択してコンフィグレーションの起動を行う画像処理装置が開示されている。【０００９】
【特許文献１】特開２００５−２５９０５３号公報
【特許文献２】特開平１１−１４４６６２号公報
【発明の開示】
【００１０】
図１に示す従来のコンフィグレーション回路によれば、複数のＦＰＧＡを使用してもそれぞれのコンフィグレーションデータを保存するメモリとこのメモリを制御するコントロール回路とが共用されるので部品点数が節約される。
しかしながら、図１に示す従来のコンフィグレーション回路は、実装されたＦＰＧＡのそれぞれに対して、個別に、メモリから読み出したデータを各ＦＰＧＡに適合する入力データ形式のデータへと変更するＦＰＧＡインタフェース部を設けている。このため、実装するＦＰＧＡのメーカや種類を変更すると、コンフィグレーション装置内のＦＰＧＡインタフェース部のレイアウトまで変更する必要があるため、コンフィグレーション回路も設計し直さなければならなかった。
【００１１】
また、従来のコンフィグレーション回路にて複数のＦＰＧＡのコンフィグレーションを行う際には、一個ずつ順番にコンフィグレーションを行っていたため、ＦＰＧＡの個数に依存してコンフィグレーション時間が長くなり、システム起動に必要とする時間が長くなるという問題がある。
また従来のコンフィグレーション回路では、データを格納するメモリに何らかの障害が発生しコンフィグレーションデータが破壊された場合には、コンフィグレーションが失敗し二度とＦＰＧＡが正常起動出来なくなるという問題があった。
【００１２】
上記問題点に鑑み、本発明は、システムに設けられた複数のＦＰＧＡにコンフィグレーションデータを供給するコンフィグレーション装置において、使用するＦＰＧＡに変更があっても、回路設計の修正がすくないコンフィグレーション装置を実現することを目的とする。
【００１３】
上記目的を達成するために、本発明では、固有のコンフィグレーション形式にしたがってコンフィグレーションデータを出力する複数のインタフェース部をコンフィグレーション装置に用意しておき、各ＦＰＧＡへ接続するインタフェース部をそれぞれ選択して回線交換部により接続する。
本発明によるコンフィグレーション装置は、回路レイアウトを決定した後に、実装するＦＰＧＡの種類やメーカを変更しても、複数のＦＰＧＡと複数のインタフェース部との間の接続関係を回線交換部によって変更することができる。このため、ＦＰＧＡの種類やメーカの変更に伴うコンフィグレーション装置の回路変更は、ＦＰＧＡと回線交換部との接続部分だけで済む。
【００１４】
本発明による、複数のＦＰＧＡにコンフィグレーションデータを供給するコンフィグレーション装置は、複数のＦＰＧＡへ供給されるコンフィグレーションデータを記憶するメモリと、メモリから読み出されたコンフィグレーションデータをそれぞれ固有のコンフィグレーション形式にしたがって出力する複数のインタフェース部と、複数のＦＰＧＡについてそのコンフィグレーションに使用すべきインタフェース部を複数のインタフェース部から選択するインタフェース選択部と、インタフェース選択部の選択に従ってＦＰＧＡとインタフェース部との間を接続する回線の回線交換を行う回線交換部と、を備える。
【００１５】
また、本発明によるコンフィグレーション装置は、メモリからコンフィグレーションデータを読み出すべきＦＰＧＡを複数のＦＰＧＡから順次選択するＦＰＧＡ選択部と、ＦＰＧＡ選択部により選択されたＦＰＧＡ用のコンフィグレーションデータをメモリから読み出す処理を行うメモリ制御部と、メモリからのデータ読み出し処理を要求する読み出し要求命令を複数のインタフェース部からメモリ制御部へ各々出力する制御回線のうち、選択されたＦＰＧＡに使用すべきインタフェース部からの制御回線をメモリ制御部へ接続するセレクタと、をさらに備えてもよい。インタフェース部には、メモリから読み出したコンフィグレーションデータをＦＰＧＡへ出力するまでの間保持するバッファを設ける。
【００１６】
このように本発明によるコンフィグレーション装置は、複数のＦＰＧＡを順次選択し、選択されたＦＰＧＡに使用すべきインタフェース部とメモリ制御部とを接続して、このインタフェース部へコンフィグレーションデータを順次読み込ませ、このインタフェース部にコンフィグレーションデータをバッファリングさせる。
メモリからインタフェース部へのデータ転送速度は、ＦＰＧＡへのコンフィグレーションデータのデータ転送速度よりも速いので、ＦＰＧＡ１つ分のコンフィグレーションに要する時間内に、複数のインタフェース部を切り替えながら、これらのインタフェース部の各々へコンフィグレーションデータを読み込んでバッファリングすることができる。
したがって、本発明によるコンフィグレーション装置は、同じメモリに記憶された複数のＦＰＧＡへのコンフィグレーションデータを、同時かつ並列にＦＰＧＡへ供給することができるため、複数のＦＰＧＡへのコンフィグレーションに要する時間が短縮される。
【００１７】
さらに、本発明によるコンフィグレーション装置は、メモリから読み出されたコンフィグレーションデータの正当性を判定する正当性判定部を、さらに備えてもよい。このような正当性判定部を設けることによって、メモリに記憶されたコンフィグレーションデータに不具合が生じても、コンフィグレーションの失敗により二度とＦＰＧＡが正常起動出来なくなるという事態を回避することができる。
【図面の簡単な説明】
【００１８】
【図１】ＦＰＧＡを備えた従来のコンピュータシステムの構成を示すブロック図である。
【図２】図１に示すＦＰＧＡデータ分配機能部の構成を示すブロック図である。
【図３】本発明の第１実施例によるコンフィグレーション装置の構成を示すブロック図である。
【図４】対応テーブルの第１例を示す図である。
【図５】対応テーブルの第２例を示す図である。
【図６】図５に示す対応関係においてある時刻に生じる接続関係記憶テーブルＴ２の例を示す図である。
【図７】メモリと正当性判定部の構成例を示すブロック図である。
【図８】本発明の第２実施例によるコンフィグレーション装置の構成を示すブロック図である。
【図９】メーカ記憶テーブルの例を示す図である。
【図１０】デバイス識別部によるデバイスＩＤ識別に基づくメーカ判定結果を示す表である。
【符号の説明】
【００１９】
１    コンフィグレーション装置
２    メモリ
３    コンフィグレーション制御部
４    メモリ制御部
５    回線交換部
６    切替信号生成部
７    正当性判定部
【発明を実施するための最良の形態】
【００２０】
図３は、本発明の第１実施例によるコンフィグレーション装置の構成を示すブロック図である。コンフィグレーション装置１は、ｎ個のＦＰＧＡ（Ｆ１〜Ｆｎ）のコンフィグレーションデータを格納するメモリ２と、メモリから読み出したコンフィグレーションデータを、各ＦＰＧＡ（Ｆ１〜Ｆｎ）が要求する入力フォーマットに適合させるコンフィグレーション制御部３と、メモリ２からコンフィグレーションデータを読み出すための制御信号を生成するメモリ制御部４と、ｎ個のＦＰＧＡ（Ｆ１〜Ｆｎ）とコンフィグレーション制御部３との間の回線交換を行う回線交換部５と、切替信号生成部６と、正当性判定部７を備える。【００２１】
コンフィグレーション制御部３は、メモリから読み出したコンフィグレーションデータを、それぞれ固有のコンフィグレーション形式にしたがってデータを並べ替えて出力するｎ個のコンフィグレーションインタフェース部Ｃ１〜Ｃｎを備えている。
各ＦＰＧＡへコンフィグレーションデータを入力するコンフィグレーション形式は、そのＦＰＧＡの各メーカ及び各種類によって定まっている。少なくとも、コンフィグレーションインタフェース部Ｃ１〜Ｃｎのうちの一部は、他のコンフィグレーションインタフェース部とは異なるコンフィグレーション形式に従ってコンフィグレーションデータを出力する。【００２２】
切替信号生成部６は、複数のＦＰＧＡ（Ｆ１〜Ｆｎ）のうちのどのＦＰＧＡを、どのコンフィグレーションインタフェース部Ｃ１〜Ｃｎを用いてコンフィグレーションするかの対応付けを定義する対応テーブルＴ１を、図示しない記憶手段に記憶する。
図４は、対応テーブルＴ１の第１例を示す図である。図示の例では、ＦＰＧＡ（Ｆ１）のコンフィグレーションに第２番目のインタフェース部Ｃ２を、ＦＰＧＡ（Ｆ２）のコンフィグレーションに第４番目のインタフェース部Ｃ４を、ＦＰＧＡ（Ｆ３）のコンフィグレーションに第３番目のインタフェース部Ｃ３を、ＦＰＧＡ（Ｆｎ）のコンフィグレーションに第７番目のインタフェース部Ｃ７を使用すべきであることが定義されている。【００２３】
図３に戻り、切替信号生成部６は、クロスバースイッチ等で実現される回線交換部５の接点を制御して、各ＦＰＧＡ（Ｆ１〜Ｆｎ）のコンフィグレーションデータ入力端子と、対応テーブルＴ１において各ＦＰＧＡに対応付けられたそれぞれのインタフェース部のコンフィグレーションデータ出力端子と、の間を接続する回線を構成する。【００２４】
このような構成によって、本コンフィグレーション装置１は、回線交換部５による回線構成を変更するだけで、実装されたＦＰＧＡのコンフィグレーションに使用するコンフィグレーションインタフェース部を容易に変更することができる。
したがって、コンフィグレーション装置１により実施されうる全てのコンフィグレーション形式がコンフィグレーションインタフェース部Ｃ１〜Ｃｎによって網羅されていれば、実装されるＦＰＧＡの種類やメーカが変わっても、回線交換部５から各ＦＰＧＡ（Ｆ１〜Ｆｎ）までの回線の変更と対応テーブルＴ１の内容の書き換えが必要となるだけで、他の回路部分の変更を避けることが可能となる。【００２５】
図３に示すメモリ制御部４は、ＦＰＧＡ（Ｆ１〜Ｆｎ）のそれぞれを順次選択するＦＰＧＡ選択部４２と、ＦＰＧＡ選択部４２により選択されたＦＰＧＡ用のコンフィグレーションデータをメモリ２から読み出す際に必要となる、アドレス信号やチップセレクト信号、出力イネーブル信号といった制御信号を生成するメモリ制御信号生成部４１を備える。【００２６】
コンフィグレーションインタフェース部Ｃ１〜Ｃｎは、メモリ２からコンフィグレーションデータを受け入れる準備ができたとき、メモリ制御信号生成部４１へ読み出し要求命令を出力する。
コンフィグレーション制御部３は、コンフィグレーションインタフェース部Ｃ１〜Ｃｎから読み出し要求命令を出力するそれぞれの制御回線のうちのいずれかを選択してメモリ制御信号生成部４１へ接続する第１のセレクタ３１を備える。また、コンフィグレーション制御部３は、コンフィグレーションデータをコンフィグレーションインタフェース部Ｃ１〜Ｃｎへ入力するデータ回線のうちいずれかを選択し、このデータ回線にメモリ２から読み出したコンフィグレーションデータを入力する第２のセレクタ３２を備える。【００２７】
切替信号生成部６は、ＦＰＧＡ選択部４２により選択されたＦＰＧＡの番号を入力し、上記対応テーブルＴ１によってこのＦＰＧＡに対応付けられたコンフィグレーションインタフェース部の番号をセレクタ３１及び３２に出力する。これによりセレクタ３１は、コンフィグレーションインタフェース部Ｃ１〜Ｃｎのそれぞれの読み出し要求命令出力用制御回線のうち、ＦＰＧＡ選択部４２により選択されたＦＰＧＡに対応するコンフィグレーションインタフェース部の制御回線を選択してメモリ制御信号生成部４１へ接続する。
またセレクタ３２は、コンフィグレーションインタフェース部Ｃ１〜Ｃｎへのデータ回線のうち、ＦＰＧＡ選択部４２により選択されたＦＰＧＡに対応するコンフィグレーションインタフェース部のデータ回線を選択して、このデータ回線にメモリ２から読み出したコンフィグレーションデータを入力する。【００２８】
メモリ制御信号生成部４１は、セレクタ３１により接続されたコンフィグレーションインタフェース部から読み出し要求命令を受信すると、ＦＰＧＡ選択部４２により選択されたＦＰＧＡへ供給すべきコンフィグレーションデータを読み出すためのアドレス信号、チップセレクト信号及び出力イネーブル信号といった制御信号を生成し、メモリ２からコンフィグレーションデータの読み出し処理を行う。【００２９】
メモリ２から出力されるコンフィグレーションデータは、後述の正当性判定部７を介してセレクタ３２に入力され、読み出し要求命令を出力したコンフィグレーションインタフェース部へ入力されて、そのバッファリング手段（図示せず）にバッファリングされる。
その後、コンフィグレーションインタフェース部Ｃ１〜Ｃｎは、バッファリングしたコンフィグレーションデータを、回線交換部５を介してＦＰＧＡ（Ｆ１〜Ｆｎ）へ出力する。【００３０】
ここで、メモリ２からコンフィグレーションインタフェース部Ｃ１〜Ｃｎまでのデータ転送速度を、ＦＰＧＡへのコンフィグレーションデータの転送速度よりも高速になるようにコンフィグレーション装置１を構成することができる。この場合には、あるコンフィグレーションインタフェース部がＦＰＧＡにコンフィグレーションデータを書き込んでいる間に、他の複数のコンフィグレーションインタフェース部にコンフィグレーションデータをメモリ２から読み込んでバッファリングさせ、複数のコンフィグレーションインタフェース部により同時にＦＰＧＡのコンフィグレーションを行うことができる。【００３１】
また、各コンフィグレーションインタフェース部Ｃ１〜Ｃｎは、ＦＰＧＡ１つ分のコンフィグレーションデータを一度に全て読み出す必要はない。すなわち、ＦＰＧＡ選択部４２が、１番目のＦＰＧＡからｎ番目のＦＰＧＡまで順次選択しながら、選択したＦＰＧＡのコンフィグレーションデータを読み出す際に、一回選択される度に、ＦＰＧＡ１つ分のコンフィグレーションデータの一部だけを読み出し、ＦＰＧＡ選択部４２によるＦＰＧＡの選択動作を繰り返し巡回させてもよい。【００３２】
コンフィグレーションインタフェース部Ｃ１〜Ｃｎの数は、実装するＦＰＧＡ（Ｆ１〜Ｆｎ）の数と異なっていてもよい。またコンフィグレーションインタフェース部Ｃ１〜Ｃｎの数と実装するＦＰＧＡ（Ｆ１〜Ｆｎ）の数が同じであっても、同じコンフィグレーションインタフェース部を複数のＦＰＧＡのコンフィグレーションに使用してもよい。【００３３】
複数のＦＰＧＡのコンフィグレーションを同じコンフィグレーションインタフェース部によって行う場合には、これらＦＰＧＡのコンフィグレーションを重複しない期間においてそれぞれ行う。すなわち、これらＦＰＧＡは同時にコンフィグレーションを行うことはできない。
このため、ＦＰＧＡ選択部４２は、切替信号生成部６に記憶される対応テーブルＴ１を参照して、複数のＦＰＧＡのコンフィグレーションに同じコンフィグレーションインタフェース部が使用されるか否かを判定する。複数のＦＰＧＡのコンフィグレーションに同じコンフィグレーションインタフェース部が使用されるとき、ＦＰＧＡ選択部４２は、これらＦＰＧＡのコンフィグレーションを同時に行わないようにコンフィグレーションデータを読み出すＦＰＧＡの順序を制御する。【００３４】
また、切替信号生成部６は、ＦＰＧＡ選択部４２からＦＰＧＡの選択信号を入力したとき、選択信号により指定されるＦＰＧＡと、対応テーブルＴ１によりこのＦＰＧＡに対応付けられたコンフィグレーションインタフェース部と、の間の回線を回線交換部５により構成する。
また切替信号生成部６は、回線交換部５により現在回線が構成されているＦＰＧＡとコンフィグレーションインタフェース部の組合せを記憶する接続関係記憶テーブルＴ２を、図示しない記憶手段に記憶する。【００３５】
図５は、複数のＦＰＧＡのコンフィグレーションを同じコンフィグレーションインタフェース部によって行う場合のＦＰＧＡとコンフィグレーションインタフェース部との間の対応付けを定義する対応テーブルＴ１の例を示す図であり、図６は、図５に示す対応関係においてある時刻に生じる接続関係記憶テーブルＴ２の例を示す図である。図５の対応テーブルＴ１に示すように、複数のＦＰＧＡ（Ｆ１及びＦ４）のコンフィグレーションに、第２番目のインタフェース部Ｃ２が使用される。【００３６】
切替信号生成部６は、ＦＰＧＡ選択部４２からＦＰＧＡの選択信号を入力したとき、接続関係記憶テーブルＴ２を参照し、ＦＰＧＡ選択部４２により指定されたＦＰＧＡがいずれかのコンフィグレーションインタフェース部と現在接続されているか否かを判定する。そして指定されたＦＰＧＡがいずれかのコンフィグレーションインタフェース部に接続されている場合には、切替信号生成部６は回線交換部５の回線構成の変更を行わない。
例えば、図６に示す例ではＦＰＧＡ（Ｆ１）とインタフェース部Ｃ２の間に回線が構成されている。したがってＦＰＧＡ選択部４２によりＦＰＧＡ（Ｆ１）が指定されても、回線交換部５の回線構成に変更は生じない。【００３７】
一方で、指定されたＦＰＧＡがいずれのコンフィグレーションインタフェース部にも接続されていない場合には、切替信号生成部６は、指定されたＦＰＧＡと、対応テーブルＴ１によりこのＦＰＧＡに対応付けられたコンフィグレーションインタフェース部と、の間の回線を回線交換部５により構成する。この回線構成によって、コンフィグレーションインタフェース部との間の回線が切断されるＦＰＧＡがある場合には、切替信号生成部６は、このＦＰＧＡについて接続関係記憶テーブルＴ２に記憶された接続関係を消去する。
例えば、図６に示す例ではＦＰＧＡ（Ｆ１）とインタフェース部Ｃ２の間に回線が構成されている。したがってＦＰＧＡ選択部４２がＦＰＧＡ（Ｆ４）を指定すると、切替信号生成部６は、ＦＰＧＡ（Ｆ４）とインタフェース部Ｃ２との間に回線が構成され、接続関係記憶テーブルＴ２に記憶されるＦＰＧＡ（Ｆ１）とインタフェース部Ｃ２の間の接続関係に関する記憶が消去される。【００３８】
複数のＦＰＧＡのコンフィグレーションを１つのコンフィグレーションインタフェース部にて行う場合、例えばＦＰＧＡ選択部４２は、以下のようにコンフィグレーションデータを読み出すＦＰＧＡの順序を制御する。
ＦＰＧＡ選択部４２は、これら複数のＦＰＧＡのうちあるＦＰＧＡのコンフィグレーションが完了してから、他のＦＰＧＡのコンフィグレーションを開始するように、コンフィグレーションデータを読み出すＦＰＧＡの順序を制御する。【００３９】
例えば図５の対応テーブルＴ１に示す対応関係の場合、ＦＰＧＡ選択部４２は、コンフィグレーションデータを読み出すＦＰＧＡとして、第１番目のＦＰＧＡ（Ｆ１）から第３番目のＦＰＧＡ（Ｆ３）まで選択した後、第４番目のＦＰＧＡ（Ｆ４）をスキップして、第５番目のＦＰＧＡ（Ｆ５）から第ｎ番目のＦＰＧＡ（Ｆｎ）まで選択し、以下同じ選択動作を繰り返す。
そして、ＦＰＧＡ（Ｆ１）のコンフィグレーションが完了した後にＦＰＧＡ（Ｆ４）をコンフィグレーションデータを読み出しＦＰＧＡとして選択する。
このように、ＦＰＧＡ選択部４２が、ＦＰＧＡ（Ｆ１）のコンフィグレーションが完了してからＦＰＧＡ（Ｆ４）のコンフィグレーションが開始されるように、コンフィグレーションデータを読み出すＦＰＧＡの順序を制御することによって、これらＦＰＧＡ（Ｆ１及びＦ４）のコンフィグレーション期間の重複が回避される。【００４０】
正当性判定部７は、メモリから読み出されたコンフィグレーションデータの正当性を判定する。図７は、メモリ２と正当性判定部７の第１構成例を示すブロック図である。メモリ２には異なる複数の記憶領域２１〜２３を有し、これら異なる複数の記憶領域２１〜２３の各々に同一のコンフィグレーションデータを重複して記憶する。これら記憶領域２１〜２３は別個の複数の記憶素子やメモリユニットからなる異なる複数の記憶領域としてもよく、同じ記憶素子の中の異なるアドレスに設けられた複数の記憶領域としてもよい。
また、正当性判定部７は、異なる複数の記憶領域２１〜２３からそれぞれ読み出した同一データ同士の多数決によって、これらデータから正しいと判定されるものを選択する多数決判定部７１及びセレクタ７２を備えている。【００４１】
また、図７に示す構成に代えて又はこれ加えて、メモリから読み出されたコンフィグレーションデータの正当性を判定するために、メモリ２にコンフィグレーションデータのパリティデータを記憶してもよい。そして正当性判定部７は、メモリから読み出されたコンフィグレーションデータのパリティ値を別途算出し、メモリ２に記憶されたパリティデータと対比することにより、コンフィグレーションデータの正当性を判定してもよい。【００４２】
さらにまた、図７に示す構成に代えて又はこれ加えて、ＥＣＣ（Error Correcting Code）機能により、メモリから読み出されたコンフィグレーションデータの正当性の判定と誤り訂正を行ってもよい。このためにメモリ２にコンフィグレーションデータのＥＣＣビットを記憶してもよい。そして正当性判定部７は、メモリからコンフィグレーションデータを読み出したときに、既知のＥＣＣ技術によってコンフィグレーションデータの正当性の判定と誤り訂正を行う。【００４３】
図８は、本発明の第２実施例によるコンフィグレーション装置の構成を示すブロック図である。本実施例では、実装された各ＦＰＧＡ（Ｆ１〜Ｆｎ）のデバイスＩＤをそれぞれ識別するデバイス識別部Ｒ１〜Ｒｎを備え、識別されたデバイスＩＤに基づいて、切替信号生成部６内に記憶される対応テーブルＴ１が生成される。
デバイス識別部Ｒ１〜Ｒｎは、各ＦＰＧＡ（Ｆ１〜Ｆｎ）に実装されているＪＴＡＰ（Joint Test Action Group）インタフェースのＴＡＰコントローラへＩＤＣＯＤＥ命令を出力することによって、各ＦＰＧＡ（Ｆ１〜Ｆｎ）のデバイスＩＤレジスタの値を読み出す。【００４４】
対応テーブル作成部６１は、デバイス識別部Ｒ１〜Ｒｎが識別した各ＦＰＧＡ（Ｆ１〜Ｆｎ）のデバイスＩＤに基づいて、各ＦＰＧＡのコンフィグレーションに使用すべきコンフィグレーションインタフェース部をそれぞれ決定することにより、対応テーブルＴ１を作成する。以下に、各ＦＰＧＡのコンフィグレーション形式がメーカによって異なる場合における対応テーブルＴ１の作成方法を説明する。【００４５】
対応テーブル作成部６１には、コンフィグレーションインタフェース部Ｃ１〜Ｃｎとそれぞれのメーカを示すメーカ記憶テーブルＴ３を設けておく。メーカ記憶テーブルＴ３の例を図９に示す。
デバイス識別部Ｒ１〜Ｒｎから各ＦＰＧＡのデバイスＩＤを受信したとき、対応テーブル作成部６１は、各デバイスＩＤに基づいて各ＦＰＧＡ（Ｆ１〜Ｆｎ）のメーカを特定する。メーカの特定結果を図１０に示す。
対応テーブル作成部６１は、各ＦＰＧＡ（Ｆ１〜Ｆｎ）について特定されたメーカによって製造されたコンフィグレーションインタフェース部Ｃ１〜Ｃｎを、メーカ記憶テーブルＴ３から選び、各ＦＰＧＡと、そのメーカにより製造されたコンフィグレーションインタフェース部Ｃ１〜Ｃｎとを対応付ける対応テーブルＴ１を生成する。【００４６】
以上、本発明の好適な実施態様について詳述したが、当業者が種々の修正及び変更をなし得ること、並びに、特許請求の範囲は本発明の真の精神および趣旨の範囲内にあるこの様な全ての修正及び変更を包含することは、本発明の範囲に含まれることは当業者に理解されるべきものである。
【産業上の利用可能性】
【００４７】
本発明は、コンフィグレーションデータをＦＰＧＡ(Field Programmable Gate Array)に供給するためのコンフィグレーション装置に利用可能である。
【図１】
2008152697.tif 000003
【図２】
2008152697.tif 000004
【図３】
2008152697.tif 000005
【図４】
2008152697.tif 000006
【図５】
2008152697.tif 000007
【図６】
2008152697.tif 000008
【図７】
2008152697.tif 000009
【図８】
2008152697.tif 000010
【図９】
2008152697.tif 000011
【図１０】
2008152697.tif 000012
【国際調査報告】
2008152697.tif 000013
2008152697.tif 000014
2008152697.tif 000015
2008152697.tif 000016