(57)【要約】【課題】  搭載するプログラマブル論理デバイスを異なる論理格納容量のプログラマブル論理デバイスに交換したり、コンフィグレーションデバイスを異なる論理データ記憶容量のコンフィグレーションデバイスに交換した場合でも、基板を改修することなく対応することができるデバイス搭載基板を提供すること目的とする。【解決手段】  デバイス搭載基板１は、プログラマブル論理デバイス２に格納する論理回路のデータを記憶し、プログラマブル論理デバイス２の論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイスを備えることとした。【選択図】        図１
2006060466.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理デバイスに格納する論理回路のデータを記憶し、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイスを備えることを特徴とするデバイス搭載基板。
【請求項２】
前記デバイス搭載基板は、
前記プログラマブル論理デバイスの論理回路を格納する論理格納容量に応じた個数のコンフィグレーションデバイスを選択的に用いること
を特徴とする請求項1に記載のデバイス搭載基板。
【請求項３】
前記デバイス搭載基板は、
前記コンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量以上となるような個数のコンフィグレーションデバイスを選択すること
を特徴とする請求項１に記載のデバイス搭載基板。
【請求項４】
前記デバイス搭載基板は、さらに
格納した論理回路を動作させるプログラマブル論理デバイスを備えることを特徴とする請求項１の記載のデバイス搭載基板。
【請求項５】
前記デバイス搭載基板は、さらに
格納した論理回路を動作させるプログラマブル論理デバイスを搭載する搭載部を備えることを特徴とする請求項１の記載のデバイス搭載基板。
【請求項６】
前記デバイス搭載基板は、さらに
前記コンフィグレーションデバイスを選択するスイッチを備えること
を特徴とする請求項１に記載のデバイス搭載基板。
【請求項７】
前記デバイス搭載基板は、さらに
前記２以上の個数のコンフィグレーションデバイスのデバイス情報を取得するバウンダリスキャン制御回路と、
前記バウンダリスキャン制御回路が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、前記２以上の個数のコンフィグレーションデバイスの中から取得した論理データ記憶容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路と
を備えることを特徴とする請求項１に記載のデバイス搭載基板。
【請求項８】
前記コンフィグレーションデバイス決定回路は、
取得した論理データ記憶容量の合計が、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量以上となるようにコンフィグレーションデバイスを決定すること
を特徴とする請求項７に記載のデバイス搭載基板。
【請求項９】
前記デバイス搭載基板は、さらに
前記プログラマブル論理デバイスのデバイス情報を取得するバウンダリスキャン制御回路と、
前記バウンダリスキャン制御回路が取得したプログラマブル論理デバイスのデバイス情報を用いて、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量を取得し、前記２以上の個数のコンフィグレーションデバイスの中から取得した論理格納容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路と
を備えることを特徴とする請求項３に記載のデバイス搭載基板。
【請求項１０】
前記コンフィグレーションデバイス決定回路は、
取得した論理格納容量が、前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計以下となるようにコンフィグレーションデバイスを決定すること
を特徴とする請求項９に記載のデバイス搭載基板。
【請求項１１】
前記デバイス搭載基板は、さらに
前記２以上の個数のコンフィグレーションデバイスのデバイス情報と前記プログラマブル論理デバイスのデバイス情報とを取得するバウンダリスキャン制御回路と、
前記バウンダリスキャン制御回路が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、前記バウンダリスキャン制御回路が取得したプログラマブル論理デバイスのデバイス情報を用いて、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量を取得し、前記２以上の個数のコンフィグレーションデバイスの中から、取得した論理データ記憶容量と論理格納容量とにもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路と
を備えることを特徴とする請求項３に記載のデバイス搭載基板。
【請求項１２】
前記コンフィグレーションデバイス決定回路は、
取得した論理データ記憶容量の合計が取得した論理格納容量以上となるようにコンフィグレーションデバイスを決定すること
を特徴とする請求項１１に記載のデバイス搭載基板。
【請求項１３】
前記デバイス搭載基板は、さらに
前記コンフィグレーションデバイス決定回路が決定したコンフィグレーションデバイスを選択するスイッチを備えること
を特徴とする請求項７と請求項９と請求項１１とのうちのいずれか一つに記載のデバイス搭載基板。
【請求項１４】
前記デバイス搭載基板は、さらに
前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計と前記プログラマブル論理デバイスの論理回路を格納する論理格納容量とを比較する容量比較回路と、
前記容量比較回路が比較を行い、前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量より小さい場合、警告を出力する警告出力部と
を備えることを特徴とする請求項１に記載のデバイス搭載基板。
【請求項１５】
前記警告出力部は、
ランプとブザーと振動発生器との少なくともいずれか一つを備えたこと
を特徴とする請求項１４に記載のデバイス搭載基板。
【請求項１６】
２以上の個数のコンフィグレーションデバイスとプログラマブル論理デバイスとを備えたデバイス搭載基板のコンフィグレーションデバイス決定方法において、
前記２以上の個数のコンフィグレーションデバイスからコンフィグレーションデバイスのデバイス情報を取得し、プログラマブル論理デバイスからプログラマブル論理デバイスのデバイス情報を取得するデバイス情報取得工程と、
取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、前記２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、取得したプログラマブル論理デバイスのデバイス情報を用いて、前記プログラマブル論理デバイスの論理回路を格納する論理格納容量を取得し、取得した２以上の個数の論理データ記憶容量の合計が、取得した論理格納容量以上となるように前記２以上の個数のコンフィグレーションデバイスの中から使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定工程と
を実行することを特徴とするコンフィグレーションデバイス決定方法。
【請求項１７】
前記コンフィグレーションデバイス決定方法は、さらに
決定されたコンフィグレーションデバイスをスイッチにより選択するコンフィグレーションデバイス選択工程を実行することを特徴とする請求項１６に記載のコンフィグレーションデバイス決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、格納した論理回路を動作させるプログラマブル論理デバイスとプログラマブル論理デバイスに格納する論理回路のデータを記憶するコンフィグレーションデバイスを搭載するデバイス搭載基板と、デバイス搭載基板で実行するコンフィグレーションデバイスの決定方法に関する。
【背景技術】
【０００２】
従来、外部からコンフィグレーションにより論理回路を格納して、所望の論理回路を動作させるプログラマブル論理デバイスを搭載するデバイス搭載基板がある。このデバイス搭載基板の開発に際しては、設計段階で使用するプログラマブル論理デバイスを選定し、その論理格納容量に応じて必要となるコンフィグレーションデバイスの論理データ記憶容量を算出する。そして、算出した論理格納容量以上の論理データ記憶容量を備えるコンフィグレーションデバイスを利用するか、もしくは算出した論理データ記憶容量を満たさない複数のコンフィグレーションデバイスをカスケード接続して利用するかを選定する。算出した論理データ記憶容量を満たさない複数のコンフィグレーションデバイスをカスケード接続して利用することを選定した場合、複数のコンフィグレーションデバイスの論理データ記憶容量の合計が、プログラマブル論理デバイスの論理格納容量以上になるように、コンフィグレーションデバイスの個数と論理データ記憶容量を選定する。
【０００３】
このように選定したプログラマブル論理デバイスとコンフィグレーションデバイスを搭載した基板では、異なる論理格納容量のプログラマブル論理デバイスに交換することが困難な場合が多い。なぜならば、プログラマブル論理デバイスの論理格納容量に応じた個数のコンフィグレーションデバイスが搭載され、プログラマブル論理デバイスとコンフィグレーションデバイスとの間が配線により接続されている基板では、プログラマブル論理デバイスの論理格納容量の変更に応じて、使用するコンフィグレーションデバイスの個数や論理データ記憶容量も変える必要が生じる。このため、プログラマブル論理デバイスと各コンフィグレーションデバイスの実装やプログラマブル論理デバイスとコンフィグレーションデバイスとの間の配線をやり直さなければならない。しかし、通常、基板はこのような再実装や再配線が非常に困難であり、このような場合は、基板自体の再製作や基板接続の改修を行う必要がある。
【０００４】
また、小規模なプログラマブル論理デバイスで大規模な論理回路を動作させる方法が提案されている（特許文献１を参照）。特許文献１では、用途の異なる論理回路を記憶したコンフィグレーションデバイスをそれぞれ用意して、必要な用途に応じてプログラマブル論理デバイスに論理回路をコンフィグレーションするコンフィグレーションデバイスを選択し、切換える方法を採用している。
【特許文献１】特開２００３−１９８３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のデバイス搭載基板は、基板の設計段階で決定した論理格納容量以外の論理格納容量を備えるプログラマブル論理デバイスを搭載しようとしたとき、コンフィグレーションデバイスの個数も変更し、また、配線を改めなければならず、基板そのものの改修が必要となる。通常、基板そのものの改修は非常に困難なため、１枚の基板で異なる容量のプログラマブル論理デバイスに対応できない。
【０００６】
また、小規模なプログラマブル論理デバイスで大規模な論理回路を動作させるために、複数のコンフィグレーションデバイスを切り換えて利用する方法はあるが、この方法を用いても上記の課題は解決されていない。
【０００７】
そこで、搭載するプログラマブル論理デバイスを異なる論理格納容量のプログラマブル論理デバイスに交換したり、コンフィグレーションデバイスを異なる論理データ記憶容量のコンフィグレーションデバイスに交換した場合でも、基板を改修することなく対応することができるデバイス搭載基板を提供すること目的とする。
【課題を解決するための手段】
【０００８】
デバイス搭載基板は、プログラマブル論理デバイスに格納する論理回路のデータを記憶し、プログラマブル論理デバイスの論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイスを備えることとした。
【発明の効果】
【０００９】
本発明のよればデバイス搭載基板は、プログラマブル論理デバイスに格納する論理回路のデータを記憶し、プログラマブル論理デバイスの論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイスを備えることができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
実施の形態１では、プログラマブル論理デバイスの論理格納容量とコンフィグレーションデバイスの論理データ記憶容量を比較することにより、使用するコンフィグレーションデバイスを選択し、選択したコンフィグレーションデバイスへの配線をスイッチにより切り換える実施の形態について説明する。
【００１１】
ここで、「論理格納容量」とは、プログラマブル論理デバイスの論理回路を格納することができる容量である。また、「論理データ記憶容量」とは、コンフィグレーションデバイスの論理回路のデータを記憶することができる容量である。論理格納容量の単位は、例えば、ゲート（Ｇａｔｅ：Ｇ）であり、また、論理データ記憶容量の単位は、例えば、バイト（Ｂｙｔｅ：Ｂ）である。
【００１２】
なお、プログラマブル論理デバイスとコンフィグレーションデバイスとの種類によっては、プログラマブル論理デバイスの論理格納容量とコンフィグレーションデバイスの論理データ記憶容量とをそのまま比較することができない場合がある。その場合には、論理格納容量を論理データ記憶容量に、または、論理データ記憶容量を論理格納容量に換算した上でそれらを比較する。これは実施の形態２から実施の形態４までにおいても同様である。
【００１３】
図１は、実施の形態１におけるデバイス搭載基板１の構成を示す図である。
デバイス搭載基板１は、プログラマブル論理デバイス２に格納する論理回路のデータを記憶し、プログラマブル論理デバイス２の論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイス、すなわち、コンフィグレーションデバイス３とコンフィグレーションデバイス４とを備える。
【００１４】
デバイス搭載基板１は、さらに、格納した論理回路を動作させるプログラマブル論理デバイス２と、コンフィグレーションデバイス３とコンフィグレーションデバイス４とを選択するスイッチ６とを備える。
【００１５】
また、デバイス搭載基板１は、外部からコンフィグレーションデバイスへ論理回路を入力するためのケーブルを接続するコネクタ５を備えている。
【００１６】
デバイス搭載基板１は、格納した論理回路を動作させるプログラマブル論理デバイス２を搭載するソケットなどの搭載部７を備える。なお、この搭載部７がなくてもデバイス搭載基板１を実現することはできる。
【００１７】
図１に示すデバイス搭載基板１は、カスケード接続されたコンフィグレーションデバイス３と、必要に応じてコンフィグレーションデバイス４とに、デバイス搭載基板１の外部から論理回路のデータがダウンロードされ、ダウンロードされた論理回路のデータが、マスターシリアルモードにより、コンフィグレーションデバイスからプログラマブル論理デバイスに入力されるように構成されている。
【００１８】
プログラマブル論理デバイス２は、コンフィグレーションデバイス３から、必要に応じてコンフィグレーションデバイス４から論理回路のデータを入力し、入力した論理回路を動作させる。コンフィグレーションデバイス３とコンフィグレーションデバイス４は、デバイス搭載基板１の外部からダウンロードされた論理回路のデータを記憶している。コネクタ５は、外部からコンフィグレーションデバイス３と、必要に応じてコンフィグレーションデバイス４とに論理回路のデータをダウンロードするためのケーブルを接続する。スイッチ６は、３つのピン６ａとピン６ｂとピン６ｃとを備えており、ピン６ａとピン６ｂとを短絡、もしくはピン６ｂとピン６ｃとを短絡することにより、コンフィグレーションデバイス３に加えて、コンフィグレーションデバイス４を使用するか否かを選択することができる。
【００１９】
プログラマブル論理デバイス２は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）である。コンフィグレーションデバイス３とコンフィグレーションデバイス４とは、例えば、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。コネクタ５は、例えば、ＪＴＡＧ（Ｊｏｉｎ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）コネクタである。スイッチ６は、例えば、ジャンパポストによる切り替えスイッチである。
【００２０】
次に、実施の形態１におけるデバイス搭載基板１でのコンフィグレーションデバイスの選択の動作を説明する。
【００２１】
デバイス搭載基板１は、プログラマブル論理デバイス２の論理回路を格納する論理格納容量に応じた個数のコンフィグレーションデバイスを選択的に用いる。
【００２２】
また、デバイス搭載基板１は、コンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量以上となるような個数のコンフィグレーションデバイスを選択する。
【００２３】
図２に示すフローチャートを用いてさらに詳しく説明する。
一般的に、プログラマブル論理デバイス２への論理回路のデータの入力は、次のような方法により行われることが多い。専用ケーブルをデバイス搭載基板１のコネクタ５に接続し、デバイス搭載基板１の外部のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などからコンフィグレーションデバイス３とコンフィグレーションデバイス４に論理回路のデータをダウンロードする。次に、デバイス搭載基板１が備える図示しない電源スイッチを用いてデバイス搭載基板１に電源を投入することによって、コンフィグレーションデバイス３とコンフィグレーションデバイス４に記憶された論理回路のデータが、プログラマブル論理デバイス２に格納される。
【００２４】
コンフィグレーションデバイス３とコンフィグレーションデバイス４への論理回路のデータのダウンロードに先立って、デバイス搭載基板１の利用者は、プログラマブル論理デバイス２の論理格納容量と、コンフィグレーションデバイス３の論理データ記憶容量を比較し、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であるか否かを判断する（ステップＳ１００）。その結果、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であった場合（ステップＳ１００でＹｅｓの場合）、コンフィグレーションデバイス３が、プログラマブル論理デバイス２へ格納する全ての論理回路のデータを記憶することができるため、コンフィグレーションデバイス４は不必要となる。この場合、利用者はスイッチ６のピン６ａと６ｂを短絡させ、論理回路のデータがコンフィグレーションデバイス３のＴＤＯからコンフィグレーションデバイス４のＴＤＩへ入力されないようにすることにより、コネクタ５を介してコンフィグレーションデバイス３のみに論理回路のデータがダウンロードされるように配線を切り換える（ステップＳ１０１）。
【００２５】
一方、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下でない場合、つまり、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量より大きい場合（ステップＳ１００でＮｏの場合）、コンフィグレーションデバイス３だけでは、プログラマブル論理デバイス２へ入力する全ての論理回路のデータを記憶することができないため、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４を使用する必要がある。この場合、利用者はスイッチ６はピン６ｂと６ｃを短絡させ、論理回路のデータがコンフィグレーションデバイス３のＴＤＯからコンフィグレーションデバイス４のＴＤＩへ入力されるようにすることにより、コネクタ５を介してコンフィグレーションデバイス３とコンフィグレーションデバイス４の両方に論理回路のデータがダウンロードされるように配線を切り換える（ステップＳ１０２）。
【００２６】
この実施の形態によればデバイス搭載基板１は、プログラマブル論理デバイス２に格納する論理回路のデータを記憶し、プログラマブル論理デバイス２の論理回路を格納する論理格納容量に応じて選択的に用いられる２以上の個数のコンフィグレーションデバイスを備えるので、一つのコンフィグレーションデバイスでは、プログラマブル論理デバイス２に格納する全ての論理回路のデータを記憶できない場合であっても、さらにもう一つのコンフィグレーションデバイスを選択して用いることにより、プログラマブル論理デバイス２に格納する全ての論理回路のデータを記憶することができる。
【００２７】
この実施の形態によればデバイス搭載基板１は、さらに、格納した論理回路を動作させるプログラマブル論理デバイス２を備えるので、コンフィグレーションデバイスが記憶している論理回路のデータをプログラマブル論理デバイス２に格納し、格納した論理回路を動作させることができる。
【００２８】
この実施の形態によればデバイス搭載基板１は、さらに、格納した論理回路を動作させるプログラマブル論理デバイス２を搭載する搭載部７を備えるので、プログラマブル論理デバイス２を容易に交換することができる。
【００２９】
この実施の形態によればデバイス搭載基板１は、さらに、コンフィグレーションデバイスを選択するスイッチ６を備えるので、コンフィグレーションデバイス３のみを使用するか、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４をも使用するかを選択することができる。
【００３０】
この実施の形態によればデバイス搭載基板１は、プログラマブル論理デバイス２の論理回路を格納する論理格納容量に応じた個数のコンフィグレーションデバイスを選択して用いるので、さらに、コンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量以上となるような個数のコンフィグレーションデバイスを選択するので、プログラマブル論理デバイス２に格納する全ての論理回路のデータをコンフィグレーションデバイスに記憶させることができる。
【００３１】
この実施の形態によれば、デバイス搭載基板１が搭載するプログラマブル論理デバイス２を論理格納容量の異なるプログラマブル論理デバイスに交換したり、搭載するコンフィグレーションデバイス３とコンフィグレーションデバイス４とを論理データ記憶容量の異なるコンフィグレーションデバイスに交換した場合であっても、スイッチ６を用いて配線を切り換えることにより、使用するコンフィグレーションデバイスを変更することができる。その結果、デバイス搭載基板１を改修することなく、１枚のデバイス搭載基板１で規模の異なる複数の論理回路の動作の実行に対応することができる。
【００３２】
実施の形態２．
実施の形態２では、搭載するコンフィグレーションデバイスを交換した場合でも、交換した各コンフィグレーションデバイスから、それらのデバイス情報であるＩＤＣＯＤＥ情報を読み取ることにより、各コンフィグレーションデバイスの論理データ記憶容量を取得し、それから実装されているプログラマブル論理デバイスに必要となるコンフィグレーションデバイスの個数を求め、その結果から使用するコンフィグレーションデバイスを選択する実施の形態について説明する。なお、実施の形態２においては、プログラマブル論理デバイスは、予め定められたものを用いている。
【００３３】
図３は、実施の形態２におけるデバイス搭載基板１の構成を示す図である。
実施の形態２におけるデバイス搭載基板１は、実施の形態１におけるデバイス搭載基板１の構成に加えて、さらに、２以上の個数のコンフィグレーションデバイスのデバイス情報を取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報であるＩＤＣＯＤＥ情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、２以上の個数のコンフィグレーションデバイスの中から取得した論理データ記憶容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備える。
【００３４】
また、実施の形態２においては、実施の形態１のスイッチ６に代えてセレクタ１６を用いる。セレクタ１６は、入力されるイネーブル（ｅｎａｂｌｅ）信号とディスエーブル（ｄｉｓａｂｌｅ）信号にしたがって、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４を使用するか否かを切り換える。
【００３５】
バウンダリスキャン制御回路２０は、バウンダリスキャンを行いコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報を読み取る。コンフィグレーションデバイス決定回路２１は、バウンダリスキャン制御回路２０が読み取ったコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報から使用するコンフィグレーションデバイスを決定する。なお、プログラマブル論理デバイス２とコンフィグレーションデバイス３とコンフィグレーションデバイス４とコネクタ５は、実施の形態１と同様であるので説明を省略する。
【００３６】
バウンダリスキャン制御回路２０は、ＪＴＡＧ（Ｊｏｉｎ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）コントローラ回路２２、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３とを備える。
【００３７】
ＪＴＡＧコントローラ回路２２は、テストアクセスポート（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ：ＴＡＰ）と呼ばれるバウンダリスキャンに用いる入出力信号（ＴＤＩ、ＴＭＳ、ＴＣＫ、ＴＤＯ）を制御することにより、各コンフィグレーションデバイスからＩＤＣＯＤＥ情報を読み取る回路である。コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３は、ＪＴＡＧコントローラ回路２２が読み込んだ各コンフィグレーションデバイスのＩＤＣＯＤＥ情報を保持する回路である。表１に各コンフィグレーションデバイスのＩＤＣＯＤＥ情報の例を示す。コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３は、例えば、表１に記載されたＩＤＣＯＤＥ情報のいずれかを保持している。
【００３８】
【表１】
2006060466.tif 000003
【００３９】
コンフィグレーションデバイス決定回路２１は、デバイスデータ情報記憶メモリ２４とコンフィグレーションデバイスメモリ演算回路２５とから構成される。
【００４０】
コンフィグレーションデバイス決定回路２１は、取得した論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量以上となるようにコンフィグレーションデバイスを決定する。
【００４１】
デバイスデータ情報記憶メモリ２４は、デバイス搭載基板１に搭載されているコンフィグレーションデバイス３とコンフィグレーションデバイス４とを含む様々な種類のコンフィグレーションデバイスのＩＤＣＯＤＥ情報と、それらコンフィグレーションデバイスの論理データ記憶容量とをそれぞれ対応させて記憶している。表２に、デバイスデータ情報記憶メモリ２４が記憶するＩＤＣＯＤＥ情報と論理データ記憶容量との対応の例を示す。また、デバイスデータ情報記憶メモリ２４は、デバイス搭載基板１が搭載しているプログラマブル論理デバイス２の論理格納容量を記憶している。
【００４２】
【表２】
2006060466.tif 000004
【００４３】
具体的には、コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３が保持するコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に対応するコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量を取得する。
【００４４】
コンフィグレーションデバイスメモリ演算回路２５は、取得した論理データ記憶容量を用いてコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量の合計を算出した上で、プログラマブル論理デバイス２の論理格納容量と、コンフィグレーションデバイス３とコンフィグレーションデバイス４及びそれらを合計した論理データ記憶容量それぞれとの比較を行い、プログラマブル論理デバイス２へ入力する論理回路のデータをコンフィグレーションデバイス３が全て記憶することができるか、それともコンフィグレーションデバイス３に加えてコンフィグレーションデバイス４がなければ記憶することができないのかを判断する。
【００４５】
次に、実施の形態２におけるデバイス搭載基板１でのコンフィグレーションデバイスの選択の動作を図４に示すフローチャートを用いて説明する。
デバイス搭載基板１の電源投入後、ＪＴＡＧコントローラ回路２２はテストアクセスポートの信号を用いてコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報を順に読み取り、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３へ格納する（ステップＳ２００）。この結果、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３は、ＪＴＡＧコントローラ回路２２が読み込んだコンフィグレーションデバイス３とコンフィグレーションデバイス４とのＩＤＣＯＤＥ情報を保持することとなる。
【００４６】
テストアクセスポートを用いたコンフィグレーションデバイス３とコンフィグレーションデバイス４とＪＴＡＧコントローラ回路２２とのインターフェースは、ＩＥＥＥ１１４９．１のバウンダリスキャンに準拠しているものとする。
【００４７】
コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３が保持するコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に対応するコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量を取得する（ステップＳ２０１）。また、コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４からプログラマブル論理デバイス２の論理格納容量を取得する（ステップＳ２０２）。コンフィグレーションデバイスメモリ演算回路２５は、取得したプログラマブル論理デバイス２の論理格納容量とコンフィグレーションデバイス３の論理データ記憶容量とを比較し、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であるか否かを判断する（ステップＳ２０３）。
【００４８】
その結果、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であった場合（ステップＳ２０３のＹｅｓの場合）、コンフィグレーションデバイス３が、プログラマブル論理デバイス２へ入力する全ての論理回路のデータを記憶することができるため、コンフィグレーションデバイス４は不必要となる。
【００４９】
この場合、セレクタ１６は、コンフィグレーションデバイス３のみをプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える（ステップＳ２０４）。図３の場合、コンフィグレーションデバイスメモリ演算回路２５からセレクタ１６にｄｉｓａｂｌｅ信号を出力することによって、コンフィグレーションデバイス３のみをプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える。
【００５０】
ステップＳ２０３で判断した結果、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下でない場合、つまり、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量より大きい場合（ステップＳ２０３のＮｏの場合）、コンフィグレーションデバイス３だけでは、プログラマブル論理デバイス２へ入力する全ての論理回路のデータを記憶することができないため、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４を使用する必要がある。
【００５１】
この場合、セレクタ１６はコンフィグレーションデバイス３とコンフィグレーションデバイス４の両方をプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える（ステップＳ２０５）。図３の場合、コンフィグレーションデバイスメモリ演算回路２５からセレクタ１６にｅｎａｂｌｅ信号を出力することによってコンフィグレーションデバイス３とコンフィグレーションデバイス４の両方をプログラマブル論理デバイス２のコンフィグレーションに使用するように配線を切り換える。
【００５２】
この実施の形態によればデバイス搭載基板１は、さらに、２以上の個数のコンフィグレーションデバイスのデバイス情報を取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、２以上の個数のコンフィグレーションデバイスの中から取得した論理データ記憶容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備えるので、バウンダリスキャン制御回路２０が取得したコンフィグレーションデバイスのデバイス情報を用いて、コンフィグレーションデバイス決定回路２１が、対応するコンフィグレーションデバイスの論理データ記憶容量を取得し、取得した論理データ記憶容量にもとづいて使用するコンフィグレーションデバイスを決定することができる。
【００５３】
この実施の形態によればコンフィグレーションデバイス決定回路２１は、取得した論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量以上となるようにコンフィグレーションデバイスを決定することができる。
【００５４】
この実施の形態によれば、デバイス搭載基板１に搭載するコンフィグレーションデバイスを論理データ記憶容量が異なるコンフィグレーションデバイスに交換した場合でも、セレクタ１６を制御して配線を切り換えることにより、使用するコンフィグレーションデバイスを選択することができる。その結果、デバイス搭載基板１を改修することなく、１枚のデバイス搭載基板で種類の異なるプログラマブル論理デバイスを搭載して対応することができる。
【００５５】
実施の形態３．
実施の形態３では、デバイス搭載基板１に搭載されたコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に加えて、プログラマブル論理デバイス２のＩＤＣＯＤＥ情報を読み取り、読み取ったＩＤＣＯＤＥ情報を用いてプログラマブル論理デバイスの論理格納容量とコンフィグレーションデバイスの論理データ記憶容量とを取得し、取得した論理格納容量と論理データ記憶容量とを比較することより、必要なコンフィグレーションデバイスの個数を求め、その結果から使用するコンフィグレーションデバイスを選択する実施に形態について説明する。なお、実施の形態３においては、プログラマブル論理デバイス２は交換可能である。
【００５６】
図５は、実施の形態３におけるデバイス搭載基板１の構成を示す図である。
実施の形態３におけるデバイス搭載基板１は、実施の形態２におけるデバイス搭載基板１の構成と基本的には同じである。具体的には、実施の形態３におけるデバイス搭載基板１は、実施の形態２と同様に、実施の形態１におけるデバイス搭載基板１の構成に加えて、さらに、プログラマブル論理デバイス２のデバイス情報を取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、プログラマブル論理デバイス２の論理回路を格納する論理格納容量を取得し、２以上の個数のコンフィグレーションデバイスの中から取得した論理格納容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備える。
【００５７】
または、プログラマブル論理デバイス２のデバイス情報の取得に加えて、２以上の個数のコンフィグレーションデバイスのデバイス情報を取得する形態であってもよいことから、実施の形態３におけるデバイス搭載基板１は、実施の形態１におけるデバイス搭載基板１の構成に加えて、さらに、２以上の個数のコンフィグレーションデバイスのデバイス情報とプログラマブル論理デバイス２のデバイス情報とを取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、プログラマブル論理デバイス２の論理回路を格納する論理格納容量を取得し、２以上の個数のコンフィグレーションデバイスの中から、取得した論理データ記憶容量と論理格納容量とにもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備えるものとしてもよい。
【００５８】
ここでは、後者のバウンダリスキャン制御回路２０が２以上の個数のコンフィグレーションデバイスのデバイス情報とプログラマブル論理デバイス２のデバイス情報とを取得する形態について説明する。
【００５９】
実施の形態３におけるデバイス搭載基板１は、前記した構成に加えて、さらに、コンフィグレーションデバイス決定回路２１が決定したコンフィグレーションデバイスを選択するスイッチを備える。
【００６０】
実施の形態３においては実施の形態２と同様に、スイッチとしてセレクタ１６を用いている。セレクタ１６は、入力されるイネーブル（ｅｎａｂｌｅ）信号とディスエーブル（ｄｉｓａｂｌｅ）信号にしたがって、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４を使用するか否かを切り換える。
【００６１】
バウンダリスキャン制御回路２０は、バウンダリスキャンを行いコンフィグレーションデバイス３とコンフィグレーションデバイス４とプログラマブル論理デバイス２とのＩＤＣＯＤＥ情報を読み取る。コンフィグレーションデバイス決定回路２１は、バウンダリスキャン制御回路２０が読み取ったコンフィグレーションデバイス３とコンフィグレーションデバイス４とプログラマブル論理デバイス２とのＩＤＣＯＤＥ情報から使用するコンフィグレーションデバイスを決定する。なお、プログラマブル論理デバイス２とコンフィグレーションデバイス３とコンフィグレーションデバイス４とコネクタ５は、実施の形態１と同様であるので説明を省略する。
【００６２】
バウンダリスキャン制御回路２０は、ＪＴＡＧコントローラ回路２２、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６を備える。表３にプログラマブル論理デバイスのＩＤＣＯＤＥ情報の例を示す。プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６は、例えば、表３に記載されたＩＤＣＯＤＥ情報のいずれかを保持している。なお、コンフィグレーションデバイスのＩＤＣＯＤＥ情報の例は表１と同じである。
【００６３】
【表３】
2006060466.tif 000005
【００６４】
プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６は、ＪＴＡＧコントローラ回路２２が読み込んだプログラマブル論理デバイス２のＩＤＣＯＤＥ情報を保持する回路である。ＪＴＡＧコントローラ回路２２とコンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３とについては、実施の形態２と同様であるので説明を省略する。
【００６５】
コンフィグレーションデバイス決定回路２１は、デバイスデータ情報記憶メモリ２４とコンフィグレーションデバイスメモリ演算回路２５とから構成される。
【００６６】
コンフィグレーションデバイス決定回路２１は、取得した論理データ記憶容量の合計が取得した論理格納容量以上となるようにコンフィグレーションデバイスを決定する。
【００６７】
デバイスデータ情報記憶メモリ２４は、デバイス搭載基板１に搭載されたプログラマブル論理デバイス２を含む様々な種類のプログラマブル論理デバイスのＩＤＣＯＤＥ情報とそれらプログラマブル論理デバイスの論理格納容量とを対応させて記憶している。また、デバイスデータ情報記憶メモリ２４は、デバイス搭載基板１に搭載されたコンフィグレーションデバイス３とコンフィグレーションデバイス４を含む様々な種類のコンフィグレーションデバイスのＩＤＣＯＤＥ情報とそれらコンフィグレーションデバイスの論理データ記憶容量とを対応させて記憶している。
【００６８】
具体的には、コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６が保持するプログラマブル論理デバイス２のＩＤＣＯＤＥ情報に対応するプログラマブル論理デバイスの論理格納容量を取得する。
【００６９】
また、コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３が保持するコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に対応するコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量を取得する。
【００７０】
コンフィグレーションデバイスメモリ演算回路２５は、取得した論理データ記憶容量を用いてコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量の合計を算出した上で、コンフィグレーションデバイス３とコンフィグレーションデバイス４及びそれらを合計した論理データ記憶容量それぞれとの比較を行い、プログラマブル論理デバイス２へ入力する論理回路のデータをコンフィグレーションデバイス３が全て記憶することができるか、それともコンフィグレーションデバイス３に加えてコンフィグレーションデバイス４がなければ記憶することができないのかを判断する。
【００７１】
デバイス搭載基板１に搭載されたその他の回路や部品は、実施の形態２と同様であるので説明を省略する。
【００７２】
なお、この実施の形態では具体的には説明しないものとしたが、前記したバウンダリスキャン制御回路２０がプログラマブル論理デバイス２のデバイス情報のみを取得する場合には、コンフィグレーションデバイス決定回路２１は、取得した論理格納容量が２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計以下となるようにコンフィグレーションデバイスを決定するものとなる。
【００７３】
次に、実施の形態３におけるデバイス搭載基板１でのコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定方法の動作を説明する。
【００７４】
コンフィグレーションデバイス決定方法は、２以上の個数のコンフィグレーションデバイスとプログラマブル論理デバイス２とを備えたデバイス搭載基板１において、２以上の個数のコンフィグレーションデバイスからコンフィグレーションデバイスのデバイス情報であるＩＤＣＯＤＥ情報を取得し、プログラマブル論理デバイス２からプログラマブル論理デバイスのデバイス情報であるＩＤＣＯＤＥ情報を取得するデバイス情報取得工程と、取得した２以上の個数のコンフィグレーションデバイスのデバイス情報であるＩＤＣＯＤＥ情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、取得したプログラマブル論理デバイス２のデバイス情報であるＩＤＣＯＤＥ情報を用いて、プログラマブル論理デバイス２の論理回路を格納する論理格納容量を取得し、取得した２以上の個数の論理データ記憶容量の合計が、取得した論理格納容量以上となるように２以上の個数のコンフィグレーションデバイスの中から使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定工程とを実行する。
【００７５】
コンフィグレーションデバイス決定方法は、さらに、決定されたコンフィグレーションデバイスをスイッチであるセレクタ１６により選択するコンフィグレーションデバイス選択工程を実行する。
【００７６】
コンフィグレーションデバイス決定方法の詳しい動作を図６と図７に示すフローチャートを用いて説明する。なお、図７に示すフローチャートは図６のフローチャートから継続して実行される。
デバイス搭載基板１の電源投入後、ＪＴＡＧコントローラ回路２２は、テストアクセスポートの信号を用いてコンフィグレーションデバイス３とコンフィグレーションデバイス４とからＩＤＣＯＤＥ情報を順に読み取り、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３に格納する（ステップＳ３００）。また、ＪＴＡＧコントローラ回路２２は、テストアクセスポートの信号を用いてプログラマブル論理デバイス２からＩＤＣＯＤＥ情報を読み取り、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６に格納する（ステップＳ３０１）。以上、ステップＳ３００とステップＳ３０１がデバイス情報取得工程である。なお、ステップＳ３００とステップＳ３０１との順序は、逆であってもよい。
【００７７】
その結果、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３は、ＪＴＡＧコントローラ回路２２が読み込んだコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報を保持する。また、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６は、ＪＴＡＧコントローラ回路２２が読み込んだプログラマブル論理デバイス２のＩＤＣＯＤＥ情報を保持する。
【００７８】
テストアクセスポートを用いたプログラマブル論理デバイス２とコンフィグレーションデバイス３とコンフィグレーションデバイス４とＪＴＡＧコントローラ回路２２とのインターフェースは、ＩＥＥＥ１１４９．１のバウンダリスキャンに準拠しているものとする。
【００７９】
デバイスデータ情報記憶メモリ２４は、コンフィグレーションデバイス３とコンフィグレーションデバイス４を含むデバイス搭載基板１に搭載可能な全てのコンフィグレーションデバイスのＩＤＣＯＤＥ情報とそれらコンフィグレーションデバイスの論理データ記憶容量とを対応させて記憶している。また、デバイスデータ情報記憶メモリ２４は、プログラマブル論理デバイス２を含めデバイス搭載基板１に搭載可能な全てのプログラマブル論理デバイスのＩＤＣＯＤＥ情報とそれらプログラマブル論理デバイスの論理格納容量とを対応させて記憶している。表４にデバイスデータ情報記憶メモリ２４が記憶するＩＤＣＯＤＥ情報と論理格納容量との対応の例を示す。なお、ＩＤＣＯＤＥ情報と論理データ記憶容量との対応の例は表２と同じである。
【００８０】
【表４】
2006060466.tif 000006
【００８１】
コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３に保持されたコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に対応するコンフィグレーションデバイス３とコンフィグレーションデバイス４の論理データ記憶容量を取得する（ステップＳ３０２）。さらに、コンフィグレーションデバイスメモリ演算回路２５は、デバイスデータ情報記憶メモリ２４から、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６に保持されたプログラマブル論理デバイス２のＩＤＣＯＤＥ情報に対応するプログラマブル論理デバイス２の論理格納容量を取得する（ステップＳ３０３）。
【００８２】
コンフィグレーションデバイスメモリ演算回路２５は、取得したプログラマブル論理デバイス２の論理格納容量とコンフィグレーションデバイス３の論理データ記憶容量とを比較し、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であるか否かを判断する（ステップＳ３０４）。
【００８３】
その結果、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下であった場合（ステップＳ３０４のＹｅｓの場合）、コンフィグレーションデバイス３は、コンフィグレーションデバイス４がなくてもプログラマブル論理デバイス２へ入力する全ての論理回路のデータを記憶することができるため、コンフィグレーションデバイスメモリ演算回路２５は、コンフィグレーションデバイス３のみを使用することを決定する（ステップＳ３０５）。
【００８４】
この場合、セレクタ１６は、コンフィグレーションデバイス３のみをプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える（ステップＳ３０６）。図５の場合、コンフィグレーションデバイスメモリ演算回路２５からセレクタ１６にｄｉｓａｂｌｅ信号を出力することによってコンフィグレーションデバイス３のみをプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える。
【００８５】
ステップＳ３０４で判断した結果、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量以下でない場合、つまり、プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３の論理データ記憶容量より大きい場合（ステップＳ３０４のＮｏの場合）、コンフィグレーションデバイス３だけでは、プログラマブル論理デバイス２へ入力する全ての論理回路のデータを記憶することができないため、コンフィグレーションデバイスメモリ演算回路２５は、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４を使用することを決定する（ステップＳ３０７）。
【００８６】
この場合、セレクタ１６は、コンフィグレーションデバイス３とコンフィグレーションデバイス４との両方をプログラマブル論理デバイス２のコンフィグレーションデバイスとして使用するように配線を切り換える（ステップＳ３０８）。図５の場合、コンフィグレーションデバイスメモリ演算回路２５からセレクタ１６にｅｎａｂｌｅ信号を出力することによってコンフィグレーションデバイス３とコンフィグレーションデバイス４の両方をプログラマブル論理デバイス３２のコンフィグレーションデバイスとして使用するように配線を切り換える。以上、ステップＳ３０２からステップＳ３０５までとステップＳ３０７とが、コンフィグレーションデバイス決定工程である。また、ステップＳ３０６とステップＳ３０８とが、コンフィグレーションデバイス選択工程である。
【００８７】
この実施の形態によればデバイス搭載基板１は、さらに、２以上の個数のコンフィグレーションデバイスのデバイス情報とプログラマブル論理デバイス２のデバイス情報とを取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、プログラマブル論理デバイス２の論理回路を格納する論理格納容量を取得し、２以上の個数のコンフィグレーションデバイスの中から、取得した論理データ記憶容量と論理格納容量とにもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備えるので、バウンダリスキャン制御回路２０が取得したコンフィグレーションデバイスのデバイス情報を用いて、コンフィグレーションデバイス決定回路２１が、対応するコンフィグレーションデバイスの論理データ記憶容量を取得し、また、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、コンフィグレーションデバイス決定回路２１が、対応するプログラマブル論理デバイスの論理格納容量を取得し、取得した論理データ記憶容量と論理格納容量とにもとづいて使用するコンフィグレーションデバイスを決定することができる。
【００８８】
この実施の形態によれば、コンフィグレーションデバイス決定回路２１は、取得した論理データ記憶容量の合計が取得した論理格納容量以上となるようにコンフィグレーションデバイスを決定することができる。
【００８９】
この実施の形態によればデバイス搭載基板１は、さらに、コンフィグレーションデバイス決定回路２１が決定したコンフィグレーションデバイスを選択するスイッチを備えるので、コンフィグレーションデバイス３のみを使用するか、コンフィグレーションデバイス３に加えてコンフィグレーションデバイス４をも使用するかを選択することができる。
ことができる。
【００９０】
この実施の形態によればコンフィグレーションデバイス決定方法は、２以上の個数のコンフィグレーションデバイスとプログラマブル論理デバイス２とを備えたデバイス搭載基板において、２以上の個数のコンフィグレーションデバイスからコンフィグレーションデバイスのデバイス情報を取得し、プログラマブル論理デバイス２からプログラマブル論理デバイスのデバイス情報を取得するデバイス情報取得工程と、取得した２以上の個数のコンフィグレーションデバイスのデバイス情報を用いて、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量を取得し、取得したプログラマブル論理デバイス２のデバイス情報を用いて、プログラマブル論理デバイスの論理回路を格納する論理格納容量を取得し、取得した２以上の個数の論理データ記憶容量の合計が、取得した論理格納容量以上となるように２以上の個数のコンフィグレーションデバイスの中から使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定工程とを実行するので、デバイス情報取得工程において取得したコンフィグレーションデバイスのデバイス情報を用いて、コンフィグレーションデバイス決定工程において、対応するコンフィグレーションデバイスの論理データ記憶容量を取得し、デバイス情報取得工程において取得したプログラマブル論理デバイス２のデバイス情報を用いて、コンフィグレーションデバイス決定工程において、対応するプログラマブル論理デバイスの論理格納容量を取得し、取得した論理データ記憶容量と論理格納容量とにもとづいて使用するコンフィグレーションデバイスをコンフィグレーションデバイス決定工程において決定することができる。
【００９１】
コンフィグレーションデバイス決定方法は、さらに、決定されたコンフィグレーションデバイスをスイッチにより選択するコンフィグレーションデバイス選択工程を実行するので、コンフィグレーションデバイス決定工程において決定したコンフィグレーションデバイスをコンフィグレーションデバイス選択工程においてスイッチを用いて選択することができる。
【００９２】
この実施の形態では具体的には説明しなかったが、デバイス搭載基板１は、さらに、プログラマブル論理デバイス２のデバイス情報を取得するバウンダリスキャン制御回路２０と、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、プログラマブル論理デバイス２の論理回路を格納する論理格納容量を取得し、２以上の個数のコンフィグレーションデバイスの中から取得した論理格納容量にもとづいて使用するコンフィグレーションデバイスを決定するコンフィグレーションデバイス決定回路２１とを備えるとすることもできるので、バウンダリスキャン制御回路２０が取得したプログラマブル論理デバイス２のデバイス情報を用いて、コンフィグレーションデバイス決定回路２１が、対応するプログラマブル論理デバイスの論理格納容量を取得し、取得した論理格納容量とにもとづいて、デバイス搭載基板１が搭載している２以上の個数のコンフィグレーションデバイスの中から、使用するコンフィグレーションデバイスを決定することができる。
【００９３】
この場合には、コンフィグレーションデバイス決定回路２１は、取得した論理格納容量が、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計以下となるようにコンフィグレーションデバイスを決定することができる。
【００９４】
この実施の形態によれば、搭載するプログラマブル論理デバイスを容量の異なるプログラマブル論理デバイスに交換した場合や、搭載するコンフィグレーションデバイスをメモリ容量の異なるコンフィグレーションデバイスに交換した場合であっても、セレクタを制御して配線を切り換えることにより、使用するコンフィグレーションデバイスを選択することができる。その結果、デバイス搭載基板１を改修することなく、１枚のデバイス搭載基板で種類の異なるプログラマブル論理デバイスを搭載して対応することができる。
【００９５】
実施の形態４．
実施に形態４では、プログラマブル論理デバイスの論理格納容量と各コンフィグレーションデバイスの論理データ記憶容量と各コンフィグレーションデバイスの個数によっては、デバイス搭載基板１に搭載されている全てのコンフィグレーションデバイスを用いてもプログラマブル論理デバイスに格納する全ての論理回路のデータを記憶することができない場合、警告を出力する実施の形態について説明する。
【００９６】
この実施の形態は、実施の形態２のデバイス搭載基板１もしくは実施の形態３のデバイス搭載基板１に回路を付加することにより実現可能であるが、ここでは実施の形態３のデバイス搭載基板１に回路を付加した場合について説明する。
【００９７】
図８は、実施の形態４におけるデバイス搭載基板１の構成を示す図である。
この実施の形態におけるデバイス搭載基板１は、実施の形態３におけるデバイス搭載基板１の構成に加えて、さらに、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計とプログラマブル論理デバイス２の論理回路を格納する論理格納容量とを比較する容量比較回路５３と、容量比較回路５３が比較を行い、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量より小さい場合、警告を出力する警告出力部とを備える。
【００９８】
警告出力部は、ランプとブザーと振動発生器との少なくともいずれか一つを備えてもよいが、ここではランプ（警告ランプ）４２を備えるものとする。なお、デバイス搭載基板１に搭載するその他の回路や部品は、実施の形態３と同様であるので説明を省略する。
【００９９】
容量比較回路５３は、デバイスデータ情報記憶メモリ２４から、コンフィグレーションデバイスＩＤＣＯＤＥ保持回路２３が保持するコンフィグレーションデバイス３とコンフィグレーションデバイス４のＩＤＣＯＤＥ情報に対応する論理データ記憶容量を取得し、取得した論理データ記憶容量の合計を取得する。また、容量比較回路５３は、デバイスデータ情報記憶メモリ２４から、プログラマブル論理デバイスＩＤＣＯＤＥ保持回路３６が保持するプログラマブル論理デバイス２のＩＤＣＯＤＥ情報に対応する論理格納容量を取得する。
【０１００】
容量比較回路５３は、取得した論理データ記憶容量の合計と取得した論理格納容量とを比較する。比較した結果、論理格納容量が論理データ記憶容量の合計よりも大きい場合、デバイス搭載基板１に搭載されているコンフィグレーションデバイス３とコンフィグレーションデバイス４とを用いてもプログラマブル論理デバイス２に入力する全ての論理回路のデータを記憶することができないと判断し、デバイス搭載基板１に搭載された警告ランプ４２を点灯する。
【０１０１】
プログラマブル論理デバイス２の論理格納容量がコンフィグレーションデバイス３とコンフィグレーションデバイス４との論理データ記憶容量の合計以下の場合、少なくともデバイス搭載基板１に搭載されているコンフィグレーションデバイス３とコンフィグレーションデバイス４とを用いればプログラマブル論理デバイスに入力する全ての論理回路のデータを記憶できるという判断になり、デバイス搭載基板１に搭載された警告ランプ４２は点灯しない。
【０１０２】
この実施の形態によればデバイス搭載基板１は、さらに、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計とプログラマブル論理デバイス２の論理回路を格納する論理格納容量とを比較する容量比較回路５３と、容量比較回路５３が比較を行い、２以上の個数のコンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計が、プログラマブル論理デバイス２の論理回路を格納する論理格納容量より小さい場合、警告を出力する警告出力部である警告ランプ４２とを備えるので、容量比較回路５３が、コンフィグレーションデバイスの論理回路のデータを記憶する論理データ記憶容量の合計とプログラマブル論理デバイス２の論理回路を格納する論理格納容量とを比較した結果、論理データ記憶容量の合計が論理格納容量より小さいことが判明した場合、コンフィグレーションデバイスによりプログラマブル論理デバイス２に格納する全ての論理回路のデータを記憶することができないため、警告出力部である警告ランプ４２が警告を出力することができる。
【０１０３】
この実施の形態によれば警告出力部は、ランプとブザーと振動発生器との少なくともいずれか一つを備えるので、利用者に対して光や音や振動で警告を出力し、注意を促すことができる。
【０１０４】
この実施の形態によればデバイス搭載基板１に搭載されているすべてのコンフィグレーションデバイスを用いてもプログラマブル論理デバイス２に入力することができる全ての論理回路のデータを記憶することができない場合、そのことを示す警告を出力し、注意を促すことができる。
【０１０５】
以上、実施の形態１から実施の形態４に記載したデバイス搭載基板は、外部からコンフィグレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスを搭載し、該プログラマブル論理デバイスのコンフィグレーションに用いるコンフィグレーションデバイスを複数個搭載する情報処理装置において、該プログラマブル論理デバイスの容量に応じたコンフィグレーションデバイスの個数を使用しコンフィグレーションを行うことを特徴とするプログラマブル論理デバイス搭載装置である。
【０１０６】
前記したプログラマブル論理デバイス搭載装置において、該プログラマブル論理デバイスの容量に応じて使用するコンフィグレーションデバイスの個数の変更を手動スイッチによって行うことを特徴とするプログラマブル論理デバイス搭載装置である。
【０１０７】
前記したプログラマブル論理デバイス搭載装置において、該コンフィグレーションデバイス個々に対して容量の情報を取得し、取得した情報に応じて使用するコンフィグレーションデバイスの個数の変更を自動的に行うことを特徴とするプログラマブル論理デバイス搭載装置である。
【０１０８】
前記したプログラマブル論理デバイス搭載装置において、該プログラマブル論理デバイスの容量の情報を取得し、取得した情報に応じて使用するコンフィグレーションデバイスの個数の変更を自動的に行うことを特徴とするプログラマブル論理デバイス搭載装置である。
【０１０９】
前記したプログラマブル論理デバイス搭載装置において、所得した該コンフィグレーションデバイス個々に対して容量の情報と所得した該プログラマブル論理デバイスの容量の情報から搭載された該コンフィグレーションデバイスすべてを用いても該プログラマブル論理デバイスのコンフィグレーションを実施する容量に満たない場合警告を示すことを特徴とするプログラマブル論理デバイス搭載装置である。
【図面の簡単な説明】
【０１１０】
【図１】実施の形態１におけるデバイス搭載基板の構成を示す図である。
【図２】実施の形態１におけるデバイス搭載基板でのコンフィグレーションデバイスの選択の動作を説明するフローチャートである。
【図３】実施の形態２におけるデバイス搭載基板の構成を示す図である。
【図４】実施の形態２におけるデバイス搭載基板でのコンフィグレーションデバイスの選択の動作を説明するフローチャートである。
【図５】実施の形態３におけるデバイス搭載基板の構成を示す図である。
【図６】実施の形態３におけるデバイス搭載基板でのコンフィグレーションデバイスの選択の動作を説明するフローチャートである。
【図７】実施の形態３におけるデバイス搭載基板でのコンフィグレーションデバイスの選択の動作を説明するフローチャートの続きである。
【図８】実施の形態４におけるデバイス搭載基板の構成を示す図である。
【符号の説明】
【０１１１】
１  デバイス搭載基板、２  プログラマブル論理デバイス、３  コンフィグレーションデバイス、４  コンフィグレーションデバイス、５  コネクタ、６  スイッチ、７  搭載部、１６  セレクタ、２０  バウンダリスキャン制御回路、２１  コンフィグレーションデバイス決定回路、２２  ＪＴＡＧコントローラ回路、２３  コンフィグレーションデバイスＩＤＣＯＤＥ保持回路、２４  デバイスデータ情報記憶メモリ、２５  コンフィグレーションデバイスメモリ演算回路、３６  プログラマブル論理デバイスＩＤＣＯＤＥ保持回路、４２  警告ランプ、５３  容量比較回路。
【図１】
2006060466.tif 000007
【図２】
2006060466.tif 000008
【図３】
2006060466.tif 000009
【図４】
2006060466.tif 000010
【図５】
2006060466.tif 000011
【図６】
2006060466.tif 000012
【図７】
2006060466.tif 000013
【図８】
2006060466.tif 000014