(57)【要約】【課題】同一装置内の同一品種のＦＰＧＡへの誤コンフィギュレーションを回避する。【解決手段】ＦＰＧＡ特定用外部ピンとして同一品種でデバイスＩＤが同一の各ＦＰＧＡの外部ピンＫ〜外部ピンＮの４本の外部ピンが選択されている。ＦＰＧＡ１及びＦＰＧＡ２は、外部ピンＫ〜外部ピンＮの状態設定によって識別される。ＦＰＧＡ１及びＦＰＧＡ２に対し、それぞれのコンフィグデータはＦＰＧＡ特定情報として「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“０”」、「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“１”」の情報を含んでいる。このため、各ＦＰＧＡのコンフィグデータでそれぞれコンフィギュレーションする場合、ＦＰＧＡ特定情報の一致により、対象とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションすることが出来る。【選択図】図２
2010226667.tif 000002
【特許請求の範囲】
【請求項１】
コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路の前記集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記解析部によって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取部と、
前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とを比較する比較部と、
前記比較部による比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記比較部によって、前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【請求項２】
チェックデータが挿入されているデータコンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記解析部によって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取部と、
前記解析部によって取得された前記集積回路特定用外部ピン状態期待値を前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態で置き換える置換部と、
前記置換部によって前記集積回路特定用外部ピン状態期待値が前記集積回路特定用外部ピン状態で置き換えられた前記コンフィギュレーションデータを前記チェックデータに基づきチェックするデータチェック部と、
前記データチェック部によるチェック結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記データチェック部によって前記コンフィギュレーションデータのチェック結果が肯定と判定された場合、前記コンフィギュレーションを続行し、前記チェック結果が否定と判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【請求項３】
前記集積回路特定用外部ピン情報及び集積回路特定用外部ピン状態期待値がデータ分離可能に前記コンフィギュレーションデータに挿入されていることを特徴とする請求項２記載の集積回路。
【請求項４】
コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を外部から取得する外部ピン状態読取部と、
前集積回路特定用外部ピン状態期待値と、前記集積回路特定用外部ピン状態とを比較する比較部と、
前記比較部による比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記比較部によって前記集積回路特定用外部ピン状態と、前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【請求項５】
前記集積回路特定用外部ピン状態取得部は、前記コンフィギュレーションデータとは異なるデータで外部から前記集積回路特定用外部ピン状態を取得することを特徴とする請求項４記載の集積回路。
【請求項６】
前記集積回路特定用外部ピン状態を記憶する記憶部を備え、
前記集積回路特定用外部ピン状態取得部は、前記記憶部から前記集積回路特定用外部ピン状態を取得することを特徴とする請求項４記載の集積回路。
【請求項７】
コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路が行うコンフィギュレーション方法であって、  前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取ステップと、
前記外部ピン状態読取ステップによって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とを比較する比較ステップと、
前記比較ステップによる比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行ステップと
を含み、
前記コンフィギュレーション実行ステップは、前記比較ステップによって、前記外部ピン状態読取ステップによって取得された前記集積回路特定用外部ピン状態と、前記解析ステップによって取得された前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とするコンフィギュレーション方法。
【請求項８】
チェックデータが挿入されているデータコンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン状態期待値を前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態で置き換える置換ステップと、
前記置換ステップによって前記集積回路特定用外部ピン状態期待値が前記集積回路特定用外部ピン状態で置き換えられた前記コンフィギュレーションデータを前記チェックデータに基づきチェックするデータチェックステップと、
前記データチェックステップによるチェック結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行ステップと
を含み、
前記コンフィギュレーション実行ステップは、前記データチェックステップによって前記コンフィギュレーションデータのチェック結果が肯定と判定された場合、前記コンフィギュレーションを続行し、前記チェック結果が否定と判定された場合、前記コンフィギュレーションを中断することを特徴とするコンフィギュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンフィギュレーションデータを組み込んで目的とする機能を実現するＦＰＧＡ（Field  Programmable  Gate  Array）等の論理が可変な集積回路の同一品種が装置内に複数存在する場合、ＦＰＧＡのコンフィギュレーションデータを記憶装置の格納領域に入れ間違えることにより発生するコンフィギュレーションの誤り（以下、誤コンフィギュレーションと呼ぶ）を回避する集積回路及びコンフィギュレーション方法に関する。
【背景技術】
【０００２】
一般的に、集積回路を含む電子回路を開発する場合、任意に論理構成（ロジック）を変更することが可変なＦＰＧＡ等の可変論理集積回路が用いられる。可変論理集積回路を電子回路の開発に用いることで、電子回路の開発途中であっても集積回路の論理を容易に変更できることから、電子回路の開発の効率が向上する。
【０００３】
例えば、ＦＰＧＡは、回路内のロジックを規定するコンフィギュレーションデータ（以下、コンフィグデータと略記する）を読み込ませること（以下、コンフィギュレーションと呼ぶ）ことで、目的とする機能を備える集積回路として機能する。コンフィグデータは、目的とする機能を備える集積回路としてＦＰＧＡを機能させるため、対象のＦＰＧＡに正しくコンフィギュレーションしなければならない。
【０００４】
そのため、従来から、コンフィギュレーションする対象のＦＰＧＡの誤り、コンフィグデータの転送や保存時のエラーによる誤コンフィギュレーションが発生しないように対策が施されている。
【０００５】
例えば、対象とするＦＰＧＡにコンフィグデータをコンフィギュレーションするために、ＦＰＧＡの品種を識別するデバイスＩＤのチェックを行い、誤コンフィギュレーションを防止していた。また、正しい（データ破損していない）コンフィグデータをコンフィギュレーションする様、コンフィグデータにＣＲＣ（Cyclic  Redundancy  Check）を予め付加しておきＣＲＣチェックを行っていた。
【０００６】
また、コンフィグデータの形式が異なる複数種類のＦＰＧＡに対してコンフィグデータをコンフィギュレーションする際、コンフィグデータ格納領域に格納されているコンフィグデータの形式を並行して読み出して正しい対象の各ＦＰＧＡに転送し、誤コンフィギュレーションを防止するとともに一定速度のコンフィギュレーションを維持していた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１８５２３９号公報
【非特許文献】
【０００８】
【非特許文献１】ザイリンク社  「Virtex-4コンフィギュレーションガイド  UG071（v1.3）  p11〜p13」  ザイリンク社著  ２００５年８月１６日
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来技術では、同一装置内の同一品種のＦＰＧＡに異なるコンフィグデータをコンフィギュレーションする場合、間違ったコンフィグデータをコンフィグデータ格納領域に格納されたとき、次の問題があった。
【００１０】
すなわち、ＦＰＧＡに間違ったコンフィグデータをコンフィギュレーションしても、ＦＰＧＡが同一品種でデバイスＩＤが同一であるためデバイスＩＤチェックがＯＫとなる。そのため、上記の場合、誤コンフィギュレーションを回避することが出来なかった。誤コンフィギュレーションが発生した場合、ＦＰＧＡの入出力ピンと接続する回路の入出力ピン同士が衝突して、最悪ＦＰＧＡ自体が破損しまう可能性があった。
【００１１】
開示の技術は、上記に鑑みてなされたものであって、同一装置内の同一品種のＦＰＧＡに誤ったコンフィグデータをコンフィギュレーションする誤コンフィギュレーションを回避することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示する集積回路及びコンフィギュレーション方法は、一つの態様において、コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路において、チェックデータが挿入されているデータコンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路において、コンフィギュレーションを行う際、コンフィギュレーションデータを解析し、集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得し、取得した集積回路特定用外部ピン情報に基づき集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている集積回路特定用外部ピン状態を取得し、取得した集積回路特定用外部ピン状態と、集積回路特定用外部ピン状態期待値とを比較し、比較結果に応じてコンフィギュレーションを実行し、取得した集積回路特定用外部ピン状態と、取得した集積回路特定用外部ピン状態期待値とが一致すると判定された場合、コンフィギュレーションを続行し、一致しないと判定された場合、コンフィギュレーションを中断することを要件とする。
【発明の効果】
【００１３】
本願の開示する集積回路及びコンフィギュレーション方法の一つの態様によれば、同一装置内に複数の同一品種のＦＰＧＡが実装された場合でも、コンフィグデータの入れ替わりによる誤ったコンフィグデータでのコンフィギュレーションを回避することが出来るという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１−１】図１−１は、実施例の概要を説明するための図（その１）である。
【図１−２】図１−２は、実施例の概要を説明するための図（その２）である。
【図２】図２は、実施例１に係る誤コンフィギュレーション回避の概要を説明するための図である。
【図３】図３は、実施例１に係るＦＰＧＡの構成を示すブロック図である。
【図４】図４は、実施例１に係るＦＰＧＡの外部ピンの接続状態を示すブロック図である。
【図５】図５は、実施例１に係るＦＰＧＡコンフィギュレーションデータを示す図である。
【図６】図６は、実施例１に係るＦＰＧＡコンフィギュレーション処理を示すタイムチャートである。
【図７】図７は、実施例１に係るＦＰＧＡコンフィギュレーションデータ生成の概要を示す図である。
【図８】図８は、実施例２に係る誤コンフィギュレーション回避の概要を説明するための図である。
【図９】図９は、実施例２に係るＦＰＧＡの構成を示すブロック図である。
【図１０】図１０は、実施例２に係るＦＰＧＡコンフィギュレーションデータを示す図である。
【図１１】図１１は、実施例２に係るＦＰＧＡコンフィギュレーション処理を示すタイムチャートである。
【図１２】図１２は、実施例２に係るＦＰＧＡコンフィギュレーションデータ生成の概要を示す図である。
【図１３】図１３は、実施例３に係るＦＰＧＡの構成を示すブロック図である。
【図１４】図１４は、実施例４に係るＦＰＧＡの構成を示すブロック図である。
【図１５】図１５は、実施例３及び実施例４に係るＦＰＧＡコンフィギュレーションデータ生成の概要を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する集積回路及びコンフィギュレーション方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、集積回路をＦＰＧＡとした例を示す。しかし、ＦＰＧＡに限定されず、ＰＬＤ（Programmable  Logic  Device）若しくはＣＰＬＤ（Complex  Programmable  Logic  Device）、例えばＰＡＬ（Programmable  Array  Logic）、ＧＡＬ（Generic  Array  Logic）等を含め、論理構成が所定のコードによって可変な集積回路に広く適用可能である。また、以下の実施例によって本願が開示する技術が限定されるものではない。
【００１６】
以下に、本願の開示する実施例１〜実施例４の説明に先立ち、各実施例共通の概要について説明する。図１−１は、実施例の概要を説明するための図（その１）である。図１−１に示す様に、装置Ａは、同一品種（デバイスＩＤが同一）のＦＰＧＡ１及びＦＰＧＡ２を含む。なお、同一品種のＦＰＧＡとは、例えば、ＦＰＧＡを構成する最小単位（スライス若しくは４つのスライスからなるコンフィギュレーション・ロジック・ブロック）等の数で決まる回路規模に応じて分類されるＦＰＧＡの品種である。
【００１７】
本来、ＦＰＧＡのコンフィギュレーションは、対象であるＦＰＧＡに目的とする機能を持たせるために、対応する正しいコンフィグデータをコンフィギュレーションしなければならない。装置Ａが備えるＦＰＧＡ１及びＦＰＧＡ２は、品種は同一であるが、異なるコンフィグデータでコンフィギュレーションし、異なる機能を持つ回路として作動させなければならない。従って、ＦＰＧＡ１にはＦＰＧＡ１用のコンフィグデータを、ＦＰＧＡ２にはＦＰＧＡ２用のコンフィグデータをコンフィギュレーションしなければならない。
【００１８】
図１−１の下方の図に示す様に、ＦＰＧＡ１用コンフィグデータをコンフィギュレーションデータ格納用記憶装置のＦＰＧＡ１用コンフィグレーションデータ格納領域に格納する。そして、コンフィギュレーション制御回路によってＦＰＧＡ１用コンフィグデータがＦＰＧＡ１のコンフィギュレーション制御部に出力される。
【００１９】
そして、ＦＰＧＡ１のコンフィギュレーション制御部によって、ＦＰＧＡ１用コンフィグデータのＣＲＣチェック、デバイスＩＤのチェックがなされ、ＣＲＣチェック共々ＯＫとなったとする。そして最後に、ＦＰＧＡ１用コンフィグデータでＦＰＧＡ１がコンフィギュレーションされる。以上は、目的とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションする場合である。
【００２０】
これに対し、図１−１の上方の図に示す様に、ＦＰＧＡ１用コンフィグデータをコンフィギュレーションデータ格納用記憶装置のＦＰＧＡ２用コンフィグレーションデータ格納領域に格納する。そして、コンフィギュレーション制御回路によってＦＰＧＡ１用コンフィグデータがＦＰＧＡ２のコンフィギュレーション制御部に出力される。そして、ＦＰＧＡ２のコンフィギュレーション制御部によって、ＦＰＧＡ１用コンフィグデータのＣＲＣチェック、デバイスＩＤのチェックがなされる。
【００２１】
しかし、ＦＰＧＡ２のデバイスＩＤはＦＰＧＡ１と同一であるため、デバイスＩＤチェックがＯＫとなる。また、コンフィグデータ自体のデータ破損もないため、ＣＲＣチェックもＯＫとなる。ゆえに、ＦＰＧＡ１用コンフィグデータでＦＰＧＡ２がコンフィギュレーションされる。以上は、目的とするＦＰＧＡに対応しない誤ったコンフィグデータをコンフィギュレーションする場合である。
【００２２】
すなわち、従来、同一装置内のＦＰＧＡをデバイスＩＤのみで識別すると、ＣＲＣチェックもデバイスＩＤチェックもスルーしてしまうため、目的とするＦＰＧＡに対応しない誤ったコンフィグデータをコンフィギュレーションしてしまう誤コンフィギュレーションの不都合があった。
【００２３】
図１−２の上方の図に示す様に、目的とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションした場合、ＦＰＧＡ内部回路の外部ピンの入出力が、接続される外部接続回路の入出力ピンと整合性が取れており、ピン同士の衝突はない。
【００２４】
しかし、図１−２の下方の図に示す様に、目的とするＦＰＧＡに対応しないコンフィグデータをコンフィギュレーションする誤コンフィギュレーションの場合を想定する。この場合、ＦＰＧＡ内部回路の外部ピンの入出力が、接続される外部接続回路の入出力ピンと整合性が取れず、ピン同士が衝突して、最悪ＦＰＧＡや外部接続回路の損傷という不都合が発生する可能性がある。これは、短期間で回路を開発しなければならない場合、開発の効率性の低下の問題を惹き起こす。
【００２５】
開示の実施例は、上記の様な誤コンフィギュレーションによって発生しうる不都合によってＦＰＧＡ等の内部論理がコンフィギュレーションによって可変な集積回路を用いた回路設計の開発効率の低下を回避することを目的とするものである。
【００２６】
なお、コンフィグデータのチェックデータは、ＣＲＣに限られず、例えばパリティチェック、ＥＣＣ（Error  Checking  and  Correcting）、又は、ハミングコード等に基づくチェックデータであってもよい。
【実施例１】
【００２７】
実施例１は、次の様な実施例である。すなわち、コンフィギュレーション対象のＦＰＧＡの複数の出力信号線（以下、外部ピンと呼ぶ）の中から、後述の条件に合致する外部ピンを集積回路特定用外部ピンとして選択する。なお、実施例では、集積回路はＦＰＧＡを例としているので、集積回路特定用外部ピンを「ＦＰＧＡ特定用外部ピン」と呼ぶ。前述の条件は、コンフィギュレーション中の外部ピンの接続先の外部回路がハイ・インピーダンス状態である、又は、外部ピンが高い抵抗値でプル・アップ（弱いプル・アップ）若しくは高い抵抗値でプル・ダウン（弱いプル・ダウン）された状態であることである。
【００２８】
なお、ハイ・インピーダンスとは、外部ピンが電気的に切り離された状態をいい、「Ｈ（“１”）」でも「Ｌ（“０”）」でもない状態である。接続先の外部回路がハイ・インピーダンス状態である、又は、高い抵抗値でプル・アップ若しくは高い抵抗値でプル・ダウン（弱いプル・ダウン）された状態にあるとする。すると、ＦＰＧＡを特定するために外部ピンを低い抵抗値でプル・アップ（「Ｈ（“１”）」）又は低い抵抗値でプル・ダウン（「Ｌ（“０”）」）しても、「Ｈ（“１”）」又は「Ｌ（“０”）」の状態を設定することが可能である。そして、コンフィギュレーション終了後は、これらの抵抗値は無視されて通常の外部ピンとして使用できる。
【００２９】
また、何れの外部ピンが「ＦＰＧＡ特定用外部ピン」であるかは、「ＦＰＧＡ特定用外部ピン情報」によって識別される。「ＦＰＧＡ特定用外部ピン情報」は、コンフィギュレーション対象のＦＰＧＡの各外部ピンに割り当てられている一意の識別情報の組み合わせによって表現される。例えば各外部ピンにＡ、・・・、Ｋ、Ｌ、Ｍ、Ｎ、・・・、Ｚなる識別情報が割り当てられている場合、「ＦＰＧＡ特定用外部ピン」がＫ、Ｌ、Ｍ、Ｎのとき、「ＦＰＧＡ特定用外部ピン情報」は、「Ｋ、Ｌ、Ｍ、Ｎ」である。
【００３０】
そして、「ＦＰＧＡ特定用外部ピン情報」によって識別される「ＦＰＧＡ特定用外部ピン」に各ＦＰＧＡを識別可能な固有の値となるようにプル・アップ又はプル・ダウン等で「Ｈ（“１”）」、「Ｌ（“０”）」の状態が設定される。設定された「Ｈ（“１”）」、「Ｌ（“０”）」の組み合わせを「ＦＰＧＡ特定用外部ピン状態」と呼ぶ。なお、各ＦＰＧＡを識別可能な固有の値は、各ＦＰＧＡが実装される同一装置内で、各ＦＰＧＡが搭載される回路基板の異同にかかわらず各ＦＰＧＡを識別可能である。
【００３１】
また、後述する様に、ＦＰＧＡコンフィギュレーションデータに含まれる「ＦＰＧＡ特定情」は、「ＦＰＧＡ特定用外部ピン情報」と、「ＦＰＧＡ特定用外部ピン状態期待値」とを含む。「ＦＰＧＡ特定用外部ピン状態期待値」は、「ＦＰＧＡ特定用外部ピン状態」の期待値、すなわち「ＦＰＧＡ特定用外部ピン」に設定されていると期待される「Ｈ（“１”）」、「Ｌ（“０”）」の値の組み合わせを言う。換言すれば、「特定用外部ピン情報」及び「ＦＰＧＡ特定用外部ピン状態期待値」を「ＦＰＧＡ特定情報」と総称する。
【００３２】
図２は、実施例１に係る誤コンフィギュレーション回避の概要を説明するための図である。ＦＰＧＡ特定用外部ピンとして同一品種の各ＦＰＧＡの外部ピンＫ、外部ピンＬ、外部ピンＭ、外部ピンＮの４本の外部ピンが選択されているとする。なお、ＦＰＧＡ特定用外部ピン状態を設定する外部ピンは、汎用のピンを用いず、専用の外部ピンを用いてもよい。コンフィギュレーション制御回路１０は、装置Ａ１内でコンフィギュレーション全般を司る制御装置である。
【００３３】
ＦＰＧＡ１及びＦＰＧＡ２は同一の品種であるが、外部ピンＫ〜外部ピンＮのＦＰＧＡ特定用外部ピン状態によって識別される。すなわち、ＦＰＧＡ１は、外部ピンＫ〜外部ピンＮのＦＰＧＡ特定用外部ピン状態が全て「Ｌ（“０”）」である。一方、ＦＰＧＡ１は、外部ピンＫ〜外部ピンＮのＦＰＧＡ特定用外部ピン状態は、外部ピンＮが「Ｈ（“１”）」である以外は全て「Ｌ（“０”）」である。この様にＦＰＧＡ特定用外部ピン状態を異ならせることによって、同一品種でデバイスＩＤが同一のＦＰＧＡを区別することが出来る。
【００３４】
さて、上記の様に区別可能なＦＰＧＡ１及びＦＰＧＡ２に対し、それぞれのコンフィグデータはＦＰＧＡ特定情報に「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“０”」、「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“１”」のＦＰＧＡ特定用外部ピン状態期待値を含んでいる。
【００３５】
このため、ＦＰＧＡ２のコンフィグデータでＦＰＧＡ２をコンフィギュレーションする場合、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とが一致するため、対象とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションすることが出来る。
【００３６】
一方、例えば、ＦＰＧＡ２のコンフィグデータでＦＰＧＡ１をコンフィギュレーションする場合、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とが一致しないため、対象とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションすることが出来ない。ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態との不一致によってコンフィギュレーションは中断される。この様にして、誤コンフィギュレーションを回避することが出来る。
【００３７】
なお、図２によれば、ＦＰＧＡ１用コンフィギュレーションデータｃｄ１は、コンフィギュレーションデータ格納用記憶装置ｍのＦＰＧＡ１用コンフィギュレーションデータ格納領域ｍ１に格納され、ＦＰＧＡ２用コンフィギュレーションデータｃｄ２は、コンフィギュレーションデータ格納用記憶装置ｍのＦＰＧＡ２用コンフィギュレーションデータ格納領域ｍ２に格納されることが本来である。
【００３８】
しかし、ヒューマンエラー等によって、本来格納されるべき格納領域に異なるＦＰＧＡのコンフィグデータが格納された場合、通常であれば、誤コンフィギュレーションが発生する。しかし、コンフィグデータにＦＰＧＡ特定用外部ピン状態期待値を含ませ、ＦＰＧＡ特定用外部ピン状態期待値と、コンフィギュレーション対象のＦＰＧＡのＦＰＧＡ特定用外部ピン状態とを比較することによって、誤コンフィギュレーションを回避することができる。
【００３９】
図３は、実施例１に係るＦＰＧＡの構成を示すブロック図である。同図に示す様に、ＦＰＧＡ２０は、コンフィギュレーション制御部２１と、ＦＰＧＡ回路部２２と、コンフィグデータをコンフィギュレーション制御部２１へ入力するためのコンフィギュレーションバスＢを備える。ＦＰＧＡ回路部２２は、コンフィグデータによるコンフィギュレーションによって回路機能が実装される機能部である。
【００４０】
また、一部略記しているが、ＦＰＧＡ回路部２２には、外部の回路とデータの入出力を行うための外部ピンのインターフェースであるＩ／ＯＩＦＩ１〜Ｉ／ＯＩＦＩ２が備えられている。なお、図３では、「Ｉ／ＯＩＦＩ３、Ｉ／ＯＩＦＩ４、Ｉ／ＯＩＦＩ９、Ｉ／ＯＩＦＩ１０」が「ＦＰＧＡ特定用外部ピン」である。また、Ｉ／ＯＩＦＩ６及びＩ／ＯＩＦＩ１２が、ＦＰＧＡ回路部２２にそれぞれ接続されているとともに、直接接続されている。この様なスルー経路は、ＦＰＧＡ２０を介さずに他の回路にデータを転送するために使用される。
【００４１】
コンフィギュレーション制御部２１は、同期部２１ａと、Device  IDチェック部２１ｂと、ＦＰＧＡ特定情報チェック部２１ｃと、ＣＲＣチェック部２１ｄと、Configuration  Data処理部２１ｅとを備える。
【００４２】
同期部２１ａは、コンフィグデータの先頭情報を検出し、コンフィギュレーションバスＢから入力されたコンフィグデータからDevice  ID、ＦＰＧＡ特定情報、Configuration  Data、及び、ＣＲＣを切り出す処理を行う（図５参照）。
【００４３】
Device  IDチェック部２１ｂは、コンフィグデータに含まれるDevice  IDと、ＦＰＧＡ２０が保持するDevice  IDとを比較する。比較結果がＯＫであれば、ＦＰＧＡ特定情報チェック部２１ｃへと処理を移す。比較結果がＯＫでなければ、コンフィギュレーションを中断する。
【００４４】
ＦＰＧＡ特定情報チェック部２１ｃは、同一品種のＦＰＧＡを識別するためのＦＰＧＡ特定情報をチェックする。ＦＰＧＡ特定情報チェック部２１ｃは、解析部２１ｃ１と、外部ピン状態読取部２１ｃ２と、比較部２１ｃ３とを備える。
【００４５】
解析部２１ｃ１は、コンフィグデータを解析し、ＦＰＧＡ特定用外部ピン情報、及び、ＦＰＧＡ特定用外部ピン設定情報期待値を取得する。外部ピン状態読取部２１ｃ２は、ＦＰＧＡ特定用外部ピン情報でＦＰＧＡ特定用外部ピンを識別し、該当ＦＰＧＡ特定用外部ピン状態を読み取る。
【００４６】
比較部２１ｃ３は、ＦＰＧＡ特定用外部ピンに設定されているＦＰＧＡ特定用外部ピン状態と、ＦＰＧＡ特定用外部ピン状態期待値とを比較する。両者が一致ならば、ＣＲＣチェック部２１ｄに対して、ＣＲＣチェックを行うことを指示する。不一致の場合、比較部２１ｃ３は、後述のConfiguration  Data処理部２１ｅに対してコンフィギュレーションを中断することを指示する。
【００４７】
ＣＲＣチェック部２１ｄは、コンフィギュレーションバスＢを介して入力されたコンフィグデータに付加されているＣＲＣチェックデータと、実際のコンフィグデータに所定のＣＲＣチェックデータ生成多項式を適用した結果とを比較する。両者が一致ならば、Configuration  Data処理部２１ｅに対してコンフィギュレーションを続行するよう指示し、不一致ならばコンフィギュレーションを中断する様に指示する。
【００４８】
Configuration  Data処理部２１ｅは、コンフィグデータに含まれるConfiguration  DataをＦＰＧＡ回路部２２にコンフィギュレーションする。Configuration  Data処理部２１ｅは、比較部２１ｃ３の指示に応じてコンフィギュレーションを実行し、又は、コンフィギュレーションを中断する。なお、Configuration  Data処理部２１ｅは、コンフィギュレーション実行部に相当する。以上の様にして、同一装置内の同一品種のＦＰＧＡに誤ったコンフィグデータをコンフィギュレーションする誤コンフィギュレーションを回避することが可能になる。
【００４９】
図４は、実施例１に係るＦＰＧＡの外部ピンの接続状態を示すブロック図である。同図によれば、抵抗ＫＤＲが接地されて外部ピンＫｐｉｎがプル・ダウン状態となっている。また、抵抗ＬＤＲが接地されて外部ピンＬｐｉｎがプル・ダウン状態となっている。また、抵抗ＭＤＲが接地されて外部ピンＭｐｉｎがプル・ダウン状態となっている。また、抵抗ＮＵＲに＋Ｖｉｏの電圧が印可されて外部ピンＮｐｉｎがプル・アップ状態となっている。
【００５０】
このとき、外部ピンＫ、外部ピンＬ、外部ピンＭ、外部ピンＮの接続先は、ハイ・インピーダンス、又は、抵抗ＫＤＲ、抵抗ＬＤＲ、抵抗ＭＤＲ、抵抗ＮＵＲに対して相対的に高い抵抗値でプル・アップ(弱いプル・アップ)あるいはプル・ダウン(弱いプル・ダウン)されており、外部ピンＫ、外部ピンＬ、外部ピンＭ、外部ピンＮの「Ｈ（“１”）」又は「Ｌ（“０”）」の状態は、抵抗ＫＤＲ、抵抗ＬＤＲ、抵抗ＭＤＲ、抵抗ＮＵＲによって決定される必要がある。
【００５１】
以上から、図４では、外部ピンＫ、外部ピンＬ、外部ピンＭ、外部ピンＮがプル・アップ若しくはプル・ダウン状態にあって、「Ｈ（“１”）」又は「Ｌ（“０”）」を各外部ピンの状態として設定していることが分かる。
【００５２】
同４では、（１）外部ピンＫ、（２）外部ピンＬ、（３）外部ピンＭ、（４）外部ピンＮのＦＰＧＡ特定用外部ピン状態は、それぞれ「Ｌ（“０”）」、「Ｌ（“０”）」、「Ｌ（“０”）」、「Ｈ（“１”）」である。これは、図２に示したＦＰＧＡ２のＦＰＧＡ特定用外部ピン状態と同一である。
【００５３】
なお、図４では、４本の外部ピンをＦＰＧＡ特定用外部ピンとしている。この場合、２４＝１６個の同一デバイスＩＤを持つ同一品種のＦＰＧＡを識別することが可能である。ＦＰＧＡ特定用外部ピンの数は、識別したい同一品種のＦＰＧＡの数に応じて増減させてもよい。各ＦＰＧＡ特定用外部ピンを弱いプル・アップ又は弱いプル・ダウンさせて「Ｈ（“１”）」又は「Ｌ（“０”）」を設定することによって、各ＦＰＧＡを特定することが可能になる。
【００５４】
図５は、実施例１に係るＦＰＧＡコンフィギュレーションデータを示す図である。実施例１に係るＦＰＧＡコンフィギュレーションデータ（コンフィグデータ）ｄ１は、コンフィグデータの先頭を示す“Synchronization  Data”ｄ１ａ、“Device  ID”ｄ１ｂ、“ＦＰＧＡ特定情報”ｄ１ｃ、“Configuration  Data”ｄ１ｄ、“ＣＲＣ”ｄ１ｅを含む。
【００５５】
特に、“ＦＰＧＡ特定情報”ｄ１ｃは、ＦＰＧＡ特定用外部ピン情報及びＦＰＧＡ特定用外部ピン状態期待値を含む。ＦＰＧＡ特定用外部ピン情報は、上記した様に、何れの外部ピンがＦＰＧＡ特定用外部ピンであるかの情報である。また、ＦＰＧＡ特定用外部ピン状態期待値は、ＦＰＧＡ特定用外部ピンに該当ＦＰＧＡを識別する情報として設定されていると期待される「Ｈ（“１”）」又は「Ｌ（“０”）」の情報の組み合わせである。
【００５６】
図６は、実施例１に係るＦＰＧＡコンフィギュレーション処理を示すタイムチャートである。先ず、ステップＳ１０１では、コンフィギュレーション制御回路１０は、コンフィギュレーション対象のDeviceであるＦＰＧＡを含む装置の電源をオンにする。
【００５７】
続いて、ステップＳ１０２では、コンフィギュレーション制御回路１０は、コンフィギュレーションデータ格納用記憶装置ｍのコンフィギュレーション対象のＦＰＧＡのコンフィグデータ格納領域のメモリクリアを行う。
【００５８】
続いて、ステップＳ１０３では、コンフィギュレーション制御回路１０は、コンフィギュレーションデータを何れの経路を介して対象のＦＰＧＡに入力するかのモード設定を行う。
【００５９】
続いて、ステップＳ１０４では、ＦＰＧＡ２０のコンフィギュレーション制御部２１の同期部２１ａは、入力されたコンフィグデータの先頭を検出する。続いて、ステップＳ１０５では、Device  IDチェック部２１ｂは、デバイスＩＤのチェックを行う。ここで、デバイスＩＤのチェック結果がエラーである場合、以降の処理は実行されず、コンフィギュレーションは中断となる。
【００６０】
続いて、ステップＳ１０６では、解析部２１ｃ１は、ＦＰＧＡ特定用外部ピン情報及び外部ピン状態期待値を取得する。続いて、ステップＳ１０７では、外部ピン状態読取部２１ｃ２は、ＦＰＧＡ特定用外部ピン情報で識別されるＦＰＧＡ特定用外部ピンのＦＰＧＡ特定用外部ピン状態を取得する。
【００６１】
続いて、ステップＳ１０８では、比較部２１ｃ３は、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とを比較する。この比較結果、両者が一致しない場合、コンフィギュレーションは中断される。
【００６２】
続いて、ステップＳ１０９では、ＣＲＣチェック部２１ｄは、コンフィグデータをロードする。続いて、ステップＳ１１０では、ＣＲＣチェック部２１ｄは、コンフィグデータに所定の生成多項式を適用してＣＲＣチェックを行う。ＣＲＣチェックがＯＫの場合、ステップＳ１１１で、Configuration  Data処理部２１ｅは、コンフィグデータのコンフィギュレーションを実行する。ＣＲＣチェックがＮＧの場合、コンフィギュレーションは中断される。
【００６３】
図７は、実施例１に係るＦＰＧＡコンフィギュレーションデータ生成の概要を示す図である。先ず、ユーザ（回路開発者）によって、入力情報として操作デバイス情報（デバイスＩＤ等）、回路設計情報、及び、ＦＰＧＡ特定用外部ピン情報及びＦＰＧＡ特定用外部ピン状態期待値（同図では、外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“１”）がＦＰＧＡコンフィギュレーションデータ生成装置６０へ入力される。
【００６４】
ＦＰＧＡコンフィギュレーションデータ生成装置６０は、入力情報が入力されるインターフェースである入力部６１と、Synchronization  Data生成部６２と、Device  ID生成部６３と、ＦＰＧＡ特定情報生成部６４と、コンフィギュレーションデータ生成部６５と、ＣＲＣ生成部６６と、ＣＲＣデータを付与されたコンフィギュレーションデータを対象のＦＰＧＡ用のコンフィグデータ格納領域へ出力する出力部６７と備える。
【００６５】
Synchronization  Data生成部６２、Device  ID生成部６３、ＦＰＧＡ特定情報生成部６４、コンフィギュレーションデータ生成部６５は、入力情報に基づいてSynchronization  Data、デバイスＩＤ、ＦＰＧＡ特定情報、Configuration  Data（回路設計情報）の順序でデータを組み立てる。そして、ＣＲＣ生成部６６は、組み立てられたデータに所定の生成多項式を適用してＣＲＣを生成し、データの末尾に付加する。ＣＲＣがデータの末尾に付与された後のデータがコンフィグデータである。なお、コンフィグデータのデータ構成は、図７の最下部に示す通り、“Synchronization”ｄ１ａ、“Device  ID”ｄ１ｂ、ＦＰＧＡ特定情報ｄ１ｃ、“Configuration  Data”ｄ１ｄ、“ＣＲＣ”ｄ１ｅを含む。
【００６６】
なお、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン情報を挿入するＦＰＧＡ特定情報生成部６４は、集積回路特定用外部ピン情報挿入部に相当する。また、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン状態期待値を挿入するＦＰＧＡ特定情報生成部６４は、集積回路特定用外部ピン状態期待値挿入部に相当する。
【００６７】
上述した様に、実施例１によれば、特定の外部ピンに「Ｈ（“１”）」又は「Ｌ（“０”）」を設定することによって、同一装置内の同一品種のＦＰＧＡが複数存在する場合でも、コンフィギュレーションを行う対象のＦＰＧＡを正確に特定することが可能なので、コンフィグデータの格納領域の入れ違いによって引き起こされる誤コンフィギュレーションを回避し、ＦＰＧＡや他の接続回路の損傷を防ぎ、回路設計の効率を向上させることが出来る。
【実施例２】
【００６８】
実施例１では、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とを比較してコンフィグデータの正当性のチェックを行っていた。これに対し、実施例２は、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータのＣＲＣチェックを行うことによって、ＦＰＧＡ特定用外部ピン状態期待値とＦＰＧＡ特定用外部ピン状態との一致不一致をチェックする実施例である。
【００６９】
すなわち、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とが不一致であれば、ＦＰＧＡ特定用外部ピン状態期待値を含むコンフィグデータに基づき生成したＣＲＣと、ＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータに基づき生成したＣＲＣとが不一致となり、ＣＲＣチェックエラーになることを利用した実施例である。
【００７０】
なお、実施例２の説明では、実施例１と同一符号及び同一ステップ番号が付与された同一の機能構成及び同一の処理についての説明を省略する。実施例２の説明では、実施例１との差異部分についてのみ説明する。
【００７１】
図８は、実施例２に係る誤コンフィギュレーション回避の概要を説明するための図である。実施例１同様に、ＦＰＧＡ特定用外部ピンとして同一品種の各ＦＰＧＡの特定用外部ピンとして外部ピンＫ、外部ピンＬ、外部ピンＭ、外部ピンＮの４本の外部ピンが選択されているとする。
【００７２】
上記の様に識別可能なＦＰＧＡ１及びＦＰＧＡ２に対し、それぞれのコンフィグデータはＦＰＧＡ特定用外部ピン状態期待値として「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“０”」、「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“１”」の情報を含んでいる。
【００７３】
そして、ＦＰＧＡ２のコンフィグデータは、「外部ピンＫ＝“０”、外部ピンＬ＝“０”、外部ピンＭ＝“０”、外部ピンＮ＝“１”」と想定されるＦＰＧＡ特定用外部ピン状態期待値を含んで生成されたＣＲＣが付与される。ここで、ＦＰＧＡ２をコンフィギュレーションする場合、ＦＰＧＡ２のコンフィグデータのＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換する。
【００７４】
そして、ＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータに基づきＣＲＣチェックを行う。図８では、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とが一致するためＣＲＣチェックがＯＫとなり、対象とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションすることが出来る。
【００７５】
一方、例えば、ＦＰＧＡ２のコンフィグデータでＦＰＧＡ１をコンフィギュレーションする場合、前述と同様に、ＦＰＧＡ１のコンフィグデータのＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換する。そして、ＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータに基づきＣＲＣチェックを行う。
【００７６】
しかし、図８では、ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態とが一致しないためＣＲＣチェックエラーとなり、対象とするＦＰＧＡに対応する正しいコンフィグデータをコンフィギュレーションすることが出来ない。ＦＰＧＡ特定用外部ピン状態期待値と、ＦＰＧＡ特定用外部ピン状態との不一致によってコンフィギュレーションは中断される。この様にして、誤コンフィギュレーションを回避することが出来る。
【００７７】
図９は、実施例２に係るＦＰＧＡの構成を示すブロック図である。同図に示す様に、ＦＰＧＡ３０は、コンフィギュレーション制御部３１と、ＦＰＧＡ回路部３２（実施例１のＦＰＧＡ回路部２２と同一）と、コンフィグデータをコンフィギュレーション制御部３１へ入力するためのコンフィギュレーションバスＢを備える。ＦＰＧＡ回路部３２は、コンフィグデータによるコンフィギュレーションによって回路機能が実装される機能部である。
【００７８】
コンフィギュレーション制御部３１は、同期部３１ａ（実施例１の同期部２１ａと同一）と、Device  IDチェック部３１ｂ（実施例１のDevice  IDチェック部２１ｂと同一）と、ＦＰＧＡ特定情報チェック部３１ｃと、ＣＲＣチェック部３１ｄ（実施例１のＣＲＣチェック部２１ｄと同一）と、Configuration  Data処理部３１ｅ（実施例１のConfiguration  Data処理部２１ｅと同一）とを備える。
【００７９】
ＦＰＧＡ特定情報チェック部３１ｃは、ＦＰＧＡ特定用外部ピンに設定されている同一品種のＦＰＧＡを識別するための特定情報をチェックする。ＦＰＧＡ特定情報チェック部３１ｃは、解析部３１ｃ１（実施例１の解析部２１ｃ１と同一）と、外部ピン状態読取部３１ｃ２（実施例１の外部ピン状態読取部２１ｃ１と同一）と、置換部３１ｃ３とを備える。置換部３１ｃ３は、ＦＰＧＡ特定用外部ピン状態期待値を外部ピン状態取得部３１ｃ２によって取得されたＦＰＧＡ特定用外部ピン状態で置換する。
【００８０】
ＣＲＣチェック部３１ｄは、コンフィグデータに付加されているＣＲＣチェックデータと、ＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータに所定のＣＲＣチェックデータ生成多項式を適用した結果とを比較する。両者が一致ならば、Configuration  Data処理部３１ｅに対してコンフィギュレーションを続行するよう指示し、不一致ならばコンフィギュレーションを中断する様に指示する。
【００８１】
図１０は、実施例２に係るＦＰＧＡコンフィギュレーションデータを示す図である。実施例２に係るＦＰＧＡコンフィギュレーションデータ（コンフィグデータ）ｄ２は、 “Synchronization  Data”ｄａ、“Device  ID”ｄ１ｂ、“ＦＰＧＡ特定情報”ｄ２ｃ、“Configuration  Data”ｄ１ｄ、“ＣＲＣ”ｄ１ｅを含む。
【００８２】
特に、“ＦＰＧＡ特定情報”ｄ２ｃは、ＦＰＧＡ特定用外部ピン情報及びＦＰＧＡ特定用外部ピン状態期待値を含む。実施例２では、特に、ＦＰＧＡ特定用外部ピン状態期待値は、実際の外部ピン状態であるＦＰＧＡ特定用外部ピン状態の読み取り値で置換される。
【００８３】
図１１は、実施例２に係るＦＰＧＡコンフィギュレーション処理を示すタイムチャートである。実施例２に係るＦＰＧＡコンフィギュレーション処理は、ステップＳ１０７に続いて、ステップＳ２０８では、置換部３１ｃ３は、ＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換する。
【００８４】
ステップＳ２１０では、ＣＲＣチェック部３１ｄは、ＦＰＧＡ特定用外部ピン状態期待値がＦＰＧＡ特定用外部ピン状態で置換されたコンフィグデータに所定の生成多項式を適用してＣＲＣチェックを行う。ＣＲＣチェックがＯＫの場合、ステップＳ１１１で、Configuration  Data処理部３１ｅは、コンフィグデータのコンフィギュレーションを実行する。ＣＲＣチェックがＮＧの場合、コンフィギュレーションは中断される。
【００８５】
図１２は、実施例２に係るＦＰＧＡコンフィギュレーションデータ生成の概要を示す図である。実施例１と異なる点は、ＦＰＧＡコンフィギュレーションデータ生成装置６０ａがＦＰＧＡ特定情報生成部６４の代わりにＦＰＧＡ特定情報生成部６４ａを備える点である。
【００８６】
ＦＰＧＡ特定情報生成部６４ａは、入力情報に基づいてＦＰＧＡ特定情報をＦＰＧＡ特定用外部ピン情報と、ＦＰＧＡ特定用外部ピン状態期待値とをフィールドを分離してコンフィグデータに格納する（ＦＰＧＡ特定用外部ピン情報ｄ２ｃ１、及び、ＦＰＧＡ特定用外部ピン状態期待値ｄ２ｃ２）。この様にして、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値は、ＦＰＧＡ特定用外部ピン情報と分離され、ＦＰＧＡ特定用外部ピン状態で容易に置換可能になる。なお、コンフィグデータのデータ構成は、図１２の最下部に示す通り、図１０に示したデータ構成と同様となっている。
【００８７】
なお、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン情報を挿入するＦＰＧＡ特定情報生成部６４ａは、集積回路特定用外部ピン情報挿入部に相当する。また、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン状態期待値を挿入するＦＰＧＡ特定情報生成部６４ａは、集積回路特定用外部ピン状態期待値挿入部に相当する。
【００８８】
上述した様に、実施例２によれば、「Ｈ（“１”）」又は「Ｌ（“０”）」が設定されているＦＰＧＡ特定用の外部ピン状態を読み取って、ＦＰＧＡ特定用の外部ピン状態でコンフィグデータに含まれるＦＰＧＡ特定情報のＦＰＧＡ特定用外部ピン状態期待値を置換する。
【００８９】
そして、ＦＰＧＡ特定用外部ピン状態期待値が置換されたコンフィグデータは、ＦＰＧＡ特定用外部ピン状態がＦＰＧＡ特定用外部ピン状態期待値と一致すれば、ＣＲＣチェックはＯＫとなる。一方、ＦＰＧＡ特定用の外部ピンの状態がＦＰＧＡ特定用外部ピン状態期待値と異なれば、ＣＲＣチェックはＮＧとなる。この様に、ＦＰＧＡ特定用の外部ピンの状態のチェックをＣＲＣチェックに含ませて行うことから、チェック効率及びチェック処理速度の向上が期待できる。
【実施例３】
【００９０】
実施例２では、ＦＰＧＡ特定用外部ピン状態を読み取り、コンフィグデータのＦＰＧＡ特定情報に含まれるＦＰＧＡ特定用外部ピン状態期待値をＦＰＧＡ特定用外部ピン状態で置換したコンフィグデータのＣＲＣチェック結果を利用して、コンフィグデータが目的のＦＰＧＡに正しくコンフィギュレーションされようとしているか否かのチェックを行っていた。
【００９１】
これに対し、実施例３は、ＦＰＧＡ特定用外部ピン状態を外部から取得し、取得したＦＰＧＡ特定用外部ピン状態でコンフィグデータのＦＰＧＡ特定用外部ピン状態期待値を置換する。ＦＰＧＡ特定用外部ピン状態期待値がＦＰＧＡ特定用外部ピン状態で置換されたコンフィグデータのＣＲＣチェックを行うことによって、コンフィグデータが目的とするＦＰＧＡに正しくコンフィギュレーションされようとしているかをチェックする実施例である。
【００９２】
なお、実施例３の説明では、実施例２と同一符号及び同一ステップ番号が付与された同一の機能構成及び同一の処理についての説明を省略する。実施例３の説明では、実施例２との差異部分についてのみ説明する。
【００９３】
図１３は、実施例３に係るＦＰＧＡの構成を示すブロック図である。同図に示す様に、ＦＰＧＡ４０は、コンフィギュレーション制御部４１と、ＦＰＧＡ回路部４２（実施例２のＦＰＧＡ回路部３２と同一）と、コンフィグデータをコンフィギュレーション制御部４１へ入力するためのコンフィギュレーションバスＢ１、及び、コンフィグデータとは別に外部から入力されたＦＰＧＡ特定用外部ピン状態をコンフィギュレーション制御部４１へ入力するためのコンフィギュレーションバスＢ２とを備える。コンフィギュレーションバスＢ２は、例えば、必要な外部ピン数を少なくするため、シリアルバスを採用している。ＦＰＧＡ回路部４２は、コンフィグデータによるコンフィギュレーションによって回路機能が実装される機能部である。
【００９４】
コンフィギュレーション制御部４１は、同期部４１ａ（実施例２の同期部３１ａと同一）と、Device  IDチェック部４１ｂ（実施例２のDevice  IDチェック部３１ｂと同一）と、ＦＰＧＡ特定情報チェック部４１ｃと、ＣＲＣチェック部４１ｄ（実施例２のＣＲＣチェック部３１ｄと同一）と、Configuration  Data処理部４１ｅ（実施例２のConfiguration  Data処理部３１ｅと同一）とを備える。
【００９５】
ＦＰＧＡ特定情報チェック部４１ｃは、ＦＰＧＡ特定用外部ピン状態期待値をチェックする。ＦＰＧＡ特定情報チェック部４１ｃは、解析部４１ｃ１（実施例２の解析部３１ｃ１と同一）と、外部ピン状態読取部４１ｃ２と、置換部４１ｃ３とを備える。外部ピン状態読取部４１ｃ２は、ＦＰＧＡ特定用外部ピン状態を外部からコンフィギュレーションバスＢ２を介して取得する。置換部４１ｃ３は、外部ピン状態取得部４１ｃ２によって外部から取得されたＦＰＧＡ特定用外部ピン状態でコンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値を置換する。
【００９６】
ＣＲＣチェック部４１ｄは、外部ピン状態取得部４１ｃ２によって外部から取得されたＦＰＧＡ特定用外部ピン状態でＦＦＰＧＡ特定用外部ピン状態期待値を置換したコンフィグデータに所定のＣＲＣチェックデータ生成多項式を適用した結果をチェックする。ＣＲＣチェックＯＫならば、Configuration  Data処理部４１ｅに対してコンフィギュレーションを続行するよう指示し、ＮＧならばコンフィギュレーションを中断する様に指示する。
【００９７】
なお、外部から取得されたＦＰＧＡ特定用外部ピン状態でＦＰＧＡ特定用外部ピン状態期待値を置換したコンフィグデータに所定のＣＲＣチェックデータ生成多項式を適用した結果をチェックする方式に限らず、実施例１同様、コンフィグデータに含まれているＦＰＧＡ特定用外部ピン状態期待値と外部から取得されたＦＰＧＡ特定用外部ピン状態とを比較してもよい。
【００９８】
上述した様に、実施例３によれば、ＦＰＧＡ特定用外部ピンの本数を実施例１、２に比較して少なくすることができる。
【実施例４】
【００９９】
実施例３では、ＦＰＧＡ特定用外部ピンからＦＰＧＡ特定用外部ピン状態を読み取る代わりにＦＰＧＡ特定用外部ピン状態を外部から取得し、取得したＦＰＧＡ特定用外部ピン状態でコンフィグデータのＦＰＧＡ特定用外部ピン状態期待値を置換する。そして、ＦＰＧＡ特定用外部ピン状態期待値がＦＰＧＡ特定用外部ピン状態で置換されたコンフィグデータのＣＲＣチェックを行うことによって、コンフィグデータが目的とするＦＰＧＡに正しくコンフィギュレーションされようとしているか否かのチェックを行っていた。
【０１００】
これに対し、実施例４は、ＦＰＧＡ特定用外部ピンからＦＰＧＡ特定用外部ピン状態を読み取る代わりにＦＰＧＡ特定用外部ピン状態を外部から取得してＦＰＧＡ特定情報格納用メモリ５３に格納する。そして、格納したＦＰＧＡ特定用外部ピン状態とコンフィグデータのＦＰＧＡ特定用外部ピン状態期待値とを比較し、比較結果が一致であれば、目的とするＦＰＧＡに正しくコンフィギュレーションされようとしているのでコンフィギュレーションを継続する。一方、比較結果が不一致であれば、目的とするＦＰＧＡに正しくコンフィギュレーションされようとしているとは判定できないのでコンフィギュレーションを中断する。
【０１０１】
なお、実施例４の説明では、実施例１と同一符号及び同一ステップ番号が付与された同一の機能構成及び同一の処理についての説明を省略する。実施例４の説明では、実施例１との差異部分についてのみ説明する。
【０１０２】
図１４は、実施例４に係るＦＰＧＡの構成を示すブロック図である。同図に示す様に、ＦＰＧＡ５０は、コンフィギュレーション制御部５１と、ＦＰＧＡ回路部５２（実施例１のＦＰＧＡ回路部２２と同一）と、コンフィグデータをコンフィギュレーション制御部５１へ入力するためのコンフィギュレーションバスＢと、コンフィグデータとは別に外部から入力されたＦＰＧＡ特定用外部ピン状態を格納するＦＰＧＡ特定情報格納用メモリ５３とを備える。コンフィグデータとは別に外部から入力されたＦＰＧＡ特定用外部ピン状態をＦＰＧＡ特定情報格納用メモリ５３に入力するＦＰＧＡ特定情報格納用メモリ制御バスは、例えば、ＪＴＡＧ  Ｉ／Ｆと兼用可能である。ＦＰＧＡ回路部５２は、コンフィグデータによるコンフィギュレーションによって回路機能が実装される機能部である。
【０１０３】
コンフィギュレーション制御部５１は、同期部５１ａ（実施例１の同期部２１ａと同一）と、Device  IDチェック部５１ｂ（実施例１のDevice  IDチェック部２１ｂと同一）と、ＦＰＧＡ特定情報チェック部５１ｃと、ＣＲＣチェック部５１ｄ（実施例１のＣＲＣチェック部２１ｄと同一）と、Configuration  Data処理部５１ｅ（実施例１のConfiguration  Data処理部２１ｅと同一）とを備える。
【０１０４】
ＦＰＧＡ特定情報チェック部５１ｃは、同一品種のＦＰＧＡを識別するためのＦＰＧＡ特定用外部ピン状態をチェックする。ＦＰＧＡ特定情報チェック部５１ｃは、解析部５１ｃ１（実施例１の解析部２１ｃ１と同一）と、メモリ読取部５１ｃ２と、比較部５１ｃ３（実施例１の比較部２１ｃ３と同一）とを備える。メモリ読取部５１ｃ２は、ＦＰＧＡ特定用外部ピン状態をＦＰＧＡ特定情報格納用メモリ５３から取得する。比較部５１ｃ３は、メモリ読取部５１ｃ２によってＦＰＧＡ特定情報格納用メモリ５３から取得されたＦＰＧＡ特定用外部ピン状態と、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値とを比較する。
【０１０５】
ＣＲＣチェック部５１ｄは、比較部５１ｃ３による比較結果が、ＦＰＧＡ特定情報格納用メモリ５３から取得されたＦＰＧＡ特定用外部ピン状態と、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値とが一致するものであれば、Configuration  Data処理部５１ｅに対してコンフィギュレーションを続行するよう指示する。一方、比較結果がＦＰＧＡ特定情報格納用メモリ５３から取得されたＦＰＧＡ特定用外部ピン状態と、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値とが一致するものでなければConfiguration  Data処理部５１ｅに対してコンフィギュレーションを中断する様に指示する。
【０１０６】
なお、ＦＰＧＡ特定情報格納用メモリ５３から取得されたＦＰＧＡ特定用外部ピン状態と、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値とを比較する方式に限らず、実施例２同様、ＦＰＧＡ特定情報格納用メモリ５３から取得されたＦＰＧＡ特定用外部ピン状態でＦＰＧＡ特定用外部ピン状態期待値を置換したコンフィグデータに所定のＣＲＣチェックデータ生成多項式を適用した結果をチェックする方式を採用してもよい。
【０１０７】
図１５は、実施例３及び実施例４に係るＦＰＧＡコンフィギュレーションデータ生成の概容を示す図である。実施例１及び実施例２と異なる点は、ＦＰＧＡコンフィギュレーションデータ生成装置６０ｂがＦＰＧＡ特定情報生成部６４又はＦＰＧＡ特定情報生成部６４ａの代わりにＦＰＧＡ特定情報生成部６４ｂを備える点である。
【０１０８】
ＦＰＧＡ特定情報生成部６４ｂは、入力情報に基づいてＦＰＧＡ特定情報ｄ３ｃとしてＦＰＧＡ特定用外部ピン状態期待値ｄ３ｃ１のみをコンフィグデータに格納する。同様に、ＦＰＧＡ特定情報ｄ３ｃとしてＦＰＧＡ特定用外部ピン状態期待値ｄ３ｃ１をＦＰＧＡ４０若しくはＦＰＧＡ５０へと入力する。
【０１０９】
この場合、ＦＰＧＡ特定用外部ピンからＦＰＧＡ特定用外部ピン状態を読み取る必要がないのでＦＰＧＡ特定用外部ピン情報は不要である。この様にして、コンフィグデータに含まれるＦＰＧＡ特定用外部ピン状態期待値は、ＦＰＧＡ特定用外部ピン状態と容易に比較可能、又は、容易に置換可能になる。なお、コンフィグデータｄ３のデータ構成は、図１５の最下部に示す通り、ＦＰＧＡ特定情報ｄ３ｃとしてＦＰＧＡ特定用外部ピン状態期待値ｄ３ｃ１のみが含まれるデータ構成と同様となっている。
【０１１０】
なお、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン情報を挿入するＦＰＧＡ特定情報生成部６４ｂは、集積回路特定用外部ピン情報挿入部に相当する。また、コンフィギュレーションデータにＦＰＧＡ特定情報の集積回路特定用外部ピン状態期待値を挿入するＦＰＧＡ特定情報生成部６４ｂは、集積回路特定用外部ピン状態期待値挿入部に相当する。
【０１１１】
上述した様に、実施例４によれば、実際のＦＰＧＡ特定用外部ピン状態を読み取る必要がないので、処理の迅速化を図り、かつ、回路構成の簡略化を図ることができる。
【０１１２】
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
【０１１３】
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、或いは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１４】
また、上記実施例において図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散及び／又は統合して構成することができる。
【０１１５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１６】
（付記１）コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路の前記集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記解析部によって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取部と、
前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とを比較する比較部と、
前記比較部による比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記比較部によって、前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【０１１７】
（付記２）チェックデータが挿入されているデータコンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記解析部によって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取部と、
前記解析部によって取得された前記集積回路特定用外部ピン状態期待値を前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態で置き換える置換部と、
前記置換部によって前記集積回路特定用外部ピン状態期待値が前記集積回路特定用外部ピン状態で置き換えられた前記コンフィギュレーションデータを前記チェックデータに基づきチェックするデータチェック部と、
前記データチェック部によるチェック結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記データチェック部によって前記コンフィギュレーションデータのチェック結果が肯定と判定された場合、前記コンフィギュレーションを続行し、前記チェック結果が否定と判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【０１１８】
（付記３）前記集積回路特定用外部ピンの数は、同一装置内に実装され同一デバイスＩＤを持つ前記集積回路のうち前記特定情報を用いて識別が必要な前記集積回路の数に依存することを特徴とする付記１又は２記載の集積回路。
【０１１９】
（付記４）前記集積回路特定用外部ピン情報及び集積回路特定用外部ピン状態期待値がデータ分離可能に前記コンフィギュレーションデータに挿入されていることを特徴とする付記２又は３記載の集積回路。
【０１２０】
（付記５）コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンと、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析部と、
前記集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を外部から取得する外部ピン状態読取部と、
前集積回路特定用外部ピン状態期待値と、前記集積回路特定用外部ピン状態とを比較する比較部と、
前記比較部による比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行部と
を備え、
前記コンフィギュレーション実行部は、前記比較部によって前記集積回路特定用外部ピン状態と、前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とする集積回路。
【０１２１】
（付記６）前記集積回路特定用外部ピン状態取得部は、前記コンフィギュレーションデータとは異なるデータで外部から前記集積回路特定用外部ピン状態を取得することを特徴とする付記５記載の集積回路。
【０１２２】
（付記７）前記集積回路特定用外部ピン状態を記憶する記憶部を備え、
前記集積回路特定用外部ピン状態取得部は、前記記憶部から前記集積回路特定用外部ピン状態を取得することを特徴とする付記５記載の集積回路。
【０１２３】
（付記８）コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路が行うコンフィギュレーション方法であって、  前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取ステップと、
前記外部ピン状態読取ステップによって取得された前記集積回路特定用外部ピン状態と、前記解析部によって取得された前記集積回路特定用外部ピン状態期待値とを比較する比較ステップと、
前記比較ステップによる比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行ステップと
を含み、
前記コンフィギュレーション実行ステップは、前記比較ステップによって、前記外部ピン状態読取ステップによって取得された前記集積回路特定用外部ピン状態と、前記解析ステップによって取得された前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とするコンフィギュレーション方法。
【０１２４】
（付記９）チェックデータが挿入されているデータコンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路であって、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピンを識別するための集積回路特定用外部ピン情報、及び、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン情報に基づき前記集積回路特定用外部ピンを識別し、該集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を取得する外部ピン状態読取ステップと、
前記解析ステップによって取得された前記集積回路特定用外部ピン状態期待値を前記外部ピン状態読取部によって取得された前記集積回路特定用外部ピン状態で置き換える置換ステップと、
前記置換ステップによって前記集積回路特定用外部ピン状態期待値が前記集積回路特定用外部ピン状態で置き換えられた前記コンフィギュレーションデータを前記チェックデータに基づきチェックするデータチェックステップと、
前記データチェックステップによるチェック結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行ステップと
を含み、
前記コンフィギュレーション実行ステップは、前記データチェックステップによって前記コンフィギュレーションデータのチェック結果が肯定と判定された場合、前記コンフィギュレーションを続行し、前記チェック結果が否定と判定された場合、前記コンフィギュレーションを中断することを特徴とするコンフィギュレーション方法。
【０１２５】
（付記１０）前記集積回路特定用外部ピンの数は、同一装置内に実装され同一デバイスＩＤを持つ前記集積回路のうち前記集積回路特定用外部ピン状態を用いて識別が必要な前記集積回路の数に依存することを特徴とする付記８又は９記載のコンフィギュレーション方法。
【０１２６】
（付記１１）前記集積回路特定用外部ピン情報及び該集積回路特定用外部ピン状態期待値がデータ分離可能に前記コンフィギュレーションデータに挿入されていることを特徴とする付記８又は９記載のコンフィギュレーション方法。
【０１２７】
（付記１２）コンフィギュレーションデータによってコンフィギュレーションを行うことにより任意に論理構成が可変である集積回路が行うコンフィギュレーション方法であって、
前記コンフィギュレーションを行う際、前記コンフィギュレーションデータを解析し、該コンフィギュレーションデータに挿入されている前記集積回路の前記集積回路特定用外部ピンを識別するための識別情報である集積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を取得する解析ステップと、
前記集積回路特定用外部ピンに設定されている前記集積回路特定用外部ピン状態を外部から取得する集積回路特定用外部ピン状態取得ステップと、
前集積回路特定用外部ピン状態期待値と、前記集積回路特定用外部ピン状態とを比較する比較ステップと、
前記比較ステップによる比較結果に応じて前記コンフィギュレーションを実行するコンフィギュレーション実行ステップと
を含み、
前記コンフィギュレーション実行ステップは、前記比較ステップによって前記集積回路特定用外部ピン状態と、前記集積回路特定用外部ピン状態期待値とが一致すると判定された場合、前記コンフィギュレーションを続行し、一致しないと判定された場合、前記コンフィギュレーションを中断することを特徴とするコンフィギュレーション方法。
【０１２８】
（付記１３）前記集積回路特定用外部ピン状態取得ステップは、前記コンフィギュレーションデータとは異なるデータで外部から前記集積回路特定用外部ピン状態を取得することを特徴とする付記１２記載のコンフィギュレーション方法。
【０１２９】
（付記１４）前記集積回路特定用外部ピン状態取得ステップは、前記集積回路が備える記憶部から前記集積回路特定用外部ピン状態を取得する
ことを特徴とする付記１２記載のコンフィギュレーション方法。
【０１３０】
（付記１５）コンフィギュレーションを行うことにより任意に論理構成が可変である集積回路のコンフィギュレーションデータを生成するコンフィギュレーションデータ生成装置であって、
前記集積回路と外部との間でデータの入出力を行う外部ピンのうち該集積回路を一意に識別するための識別情報である集積回路特定用外部ピン状態が設定される集積回路特定用外部ピン識別するための集積回路特定用外部ピン情報を前記コンフィギュレーションデータに挿入する集積回路特定用外部ピン情報挿入部と、
前記積回路特定用外部ピン状態の期待値である集積回路特定用外部ピン状態期待値を前記コンフィギュレーションデータに挿入する集積回路特定用外部ピン状態期待値挿入部と
を備えたことを特徴とするコンフィギュレーションデータ生成装置。
【０１３１】
（付記１６）前記集積回路特定用外部ピン情報挿入部及び前記集積回路特定用外部ピン状態期待値挿入部は、前記集積回路特定用外部ピン情報及び前記集積回路特定用外部ピン状態期待値をデータ分離可能に設定することを特徴とする付記１５記載のコンフィギュレーションデータ生成装置。
【符号の説明】
【０１３２】
１０  コンフィギュレーション制御回路
２０、３０、４０、５０  ＦＰＧＡ
２１、３１、４１、５１  コンフィギュレーション制御部
２１ａ、３１ａ、４１ａ、５１ａ  同期部
２１ｂ、３１ｂ、４１ｂ、５１ｂ  Device  IDチェック部
２１ｃ、３１ｃ、４１ｃ、５１ｃ  ＦＰＧＡ特定情報チェック部
２１ｃ１、３１ｃ１、４１ｃ１、５１ｃ１  解析部
２１ｃ２、３１ｃ２、４１ｃ２  外部ピン状態読取部
２１ｃ３、５１ｃ３  比較部
３１ｃ３、４１ｃ３  置換部
２１ｄ、３１ｄ、４１ｄ、５１ｄ  ＣＲＣチェック部
２１ｅ、３１ｅ、４１ｅ、５１ｅ  Configuration  Data処理部
２２、３２、４２、５２  ＦＰＧＡ回路部
５３  特定情報格納用メモリ
６０、６０ａ、６０ｂ  コンフィギュレーションデータ生成装置
６１  入力部
６２  Synchronization  Data生成部
６３  Device  ID生成部
６４、６４ａ、６４ｂ  ＦＰＧＡ特定情報生成部
６５  コンフィギュレーションデータ生成部
６６  ＣＲＣ生成部
６７  出力部
Ａ、Ａ１  装置
Ｂ、Ｂ１、Ｂ２  コンフィギュレーションバス
Ｉ１〜Ｉ１２  Ｉ／ＯＩＦ
Ｋ、Ｌ、Ｍ、Ｎ  外部ピン
【図１−１】
2010226667.tif 000003
【図１−２】
2010226667.tif 000004
【図２】
2010226667.tif 000005
【図３】
2010226667.tif 000006
【図４】
2010226667.tif 000007
【図５】
2010226667.tif 000008
【図６】
2010226667.tif 000009
【図７】
2010226667.tif 000010
【図８】
2010226667.tif 000011
【図９】
2010226667.tif 000012
【図１０】
2010226667.tif 000013
【図１１】
2010226667.tif 000014
【図１２】
2010226667.tif 000015
【図１３】
2010226667.tif 000016
【図１４】
2010226667.tif 000017
【図１５】
2010226667.tif 000018