(57)【要約】【課題】プログラム可能な論理デバイスに構成される回路が変更されても電圧ドロップの発生を抑制する。【解決手段】通信装置は、論理デバイス１０２と、配線１０３と、変更部１００２とを有する。論理デバイス１０２は、プログラム可能なデバイスである。配線１０３は、論理デバイス１０２に電圧を供給する。変更部１００２は、電圧の供給を受けて動作する論理デバイスの動作特性をモニタして得られた動作特性に基づいて、配線１０３の周波数特性を変更する。【選択図】図１０
2017184177.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能な論理デバイスと、
前記論理デバイスに電圧を供給する配線と、
前記電圧の供給を受けて動作する前記論理デバイスの動作特性のモニタにより得られた動作特性に基づいて、前記配線の周波数特性を変更する変更部と、
を備える、通信装置。
【請求項２】
前記動作特性を表わす値を記憶する記憶領域を有し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記配線の周波数特性を変更する請求項１に記載の通信装置。
【請求項３】
前記変更部が前記配線の周波数特性を変更することは、前記配線が有する反共振周波数を、前記論理デバイスが消費する電流の周波数特性におけるピーク周波数からずらすことである、請求項１または２に記載の通信装置。
【請求項４】
前記変更部は、前記配線の有するインダクタンス、レジスタンスおよびキャパシタンスのいずれか１以上を変更する、請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記論理デバイスに電圧を供給する配線は複数の配線から選択可能であり、
前記論理デバイスは、前記複数の配線から使用する配線を選択する、請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記論理デバイスに供給される電圧は選択可能であり、
前記記憶領域は、前記選択可能な電圧のうちから選択された電圧を表わす値を記憶し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記論理デバイスに供給される電圧を変更する、請求項２に記載の通信装置。
【請求項７】
前記論理デバイスに供給される電流の周波数特性をモニタするための端子を有する、請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
プログラム可能な論理デバイスと、
前記論理デバイスに電圧を供給する配線と、
前記電圧の供給を受けて動作する前記論理デバイスの動作特性のモニタにより得られた動作特性に基づいて、前記配線の周波数特性を変更する変更部と、
を備える、半導体装置。
【請求項９】
電圧の供給を受けて動作するプログラム可能な論理デバイスの動作特性のモニタにより得られた動作特性に基づいて、前記電圧を前記論理デバイスに供給する配線が有する周波数特性を変更する、周波数特性変更方法。
【請求項１０】
前記論理デバイスの動作特性をモニタし、
前記モニタされた前記動作特性に基づいて、前記動作特性を表わす値を記憶領域に記憶し、
前記記憶領域から前記動作特性を表わす値を読み出し、前記電圧を前記論理デバイスに供給する配線が有する周波数特性を変更する、請求項９に記載の周波数特性変更方法。
【請求項１１】
前記論理デバイスに、前記論理デバイスの動作エラーを検出する検出回路を構成し、
前記論理デバイスの動作特性をモニタすることは、前記検出回路により前記動作エラーが検出されるかどうかをモニタすることである、請求項９に記載の周波数特性変更方法。
【請求項１２】
前記論理デバイスに供給する電圧を変化させて、前記論理デバイスの動作特性をモニタする、請求項１１に記載の周波数特性変更方法。
【請求項１３】
前記論理デバイスに供給する電圧のうち、前記検出回路により前記動作エラーが検出されない電圧の下限の電圧を前記論理デバイスに供給することを選択する、請求項１２に記載の周波数特性変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の開示は、通信装置、半導体装置および周波数特性変更方法に関する。
【背景技術】
【０００２】
通信装置に、プログラム可能な論理デバイスが用いられる場合がある。当該論理デバイスとして、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）のチップ（以下、単にＦＰＧＡと呼称する。）を含む半導体装置が知られている。当該半導体装置においては、高級言語などで動作時の回路を記述し、当該記述をコンパイルして得られるコンフィギュレーションデータをＦＰＧＡとともに配置されるメモリの記憶領域に記憶させる。ＦＰＧＡの動作時には、コンフィギュレーションデータがメモリから読み出され、記述された回路がＦＰＧＡ内に実現され、当該回路が動作する。
【０００３】
ＦＰＧＡにより、通信装置の製造が完了した後でもハードウェア部品の交換を行なうことなくＦＰＧＡ内の回路を変更することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開２０１５／０３３４２２号
【特許文献２】特開２００４−３２５３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年の半導体プロセスの微細化、高集積度化により、ＦＰＧＡに供給される電源電圧は低下し、電流が増大する傾向にある。また、高集積度化に伴う基板の多ピン化によりＦＰＧＡが装着される実装基板として大型の基板が用いられるようになり、電源回路に対する基板上の電源パターン（電源配線）の特性の影響が無視できなくなってきている。
【０００６】
例えば、電源パターンの反共振周波数と、ＦＰＧＡの負荷急変時などの消費電流のピーク周波数とが等しくなると、反共振により、電源回路の急激な電圧の低下（以下、電圧ドロップと記載する場合がある。）が発生することがある。ＦＰＧＡの内部に構成された回路の動作中に当該電圧降下が発生し、ＦＰＧＡの誤動作が発生すると、誤動作の原因の特定が困難となる。
【０００７】
また、通信装置が高速伝送を実現するためには、通信装置に用いられるＦＰＧＡ装置は広範な周波数の範囲で安定して動作することが好ましい。
【０００８】
以上に鑑み、以下の開示の目的の一つは、プログラム可能な論理デバイスに構成される回路が変更されても電圧ドロップの発生を抑制することである。
【課題を解決するための手段】
【０００９】
一側面において、通信装置は、論理デバイスと、配線と、変更部とを有する。論理デバイスは、プログラム可能なデバイスである。配線は、論理デバイスに電圧を供給する。変更部は、電圧の供給を受けて動作する論理デバイスの動作特性をモニタして得られた動作特性に基づいて、配線の周波数特性を変更する。
【００１０】
一側面において、半導体装置は、論理デバイスと、配線と、変更部とを有する。論理デバイスは、プログラム可能なデバイスである。配線は、論理デバイスに電圧を供給する。変更部は、電圧の供給を受けて動作する論理デバイスの動作特性をモニタして得られた動作特性に基づいて、配線の周波数特性を変更する。
【００１１】
一側面において、周波数特性変更方法は、電圧の供給を受けて動作するプログラム可能な論理デバイスの動作特性をモニタして得られた動作特性に基づいて、電圧を論理デバイスに供給する配線が有する周波数特性を変更する。
【発明の効果】
【００１２】
一側面によれば、プログラム可能な論理デバイスに構成される回路が変更されても電圧ドロップの発生を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】（Ａ）はＦＰＧＡ装置の模式的な上面図であり、（Ｂ）はＦＰＧＡ装置の模式的な側面図である。
【図２】ＦＰＧＡ装置の動作を説明するフローチャートである。
【図３】ＦＰＧＡ装置の等価回路図である。
【図４】ＦＰＧＡ装置の消費電流の周波数変動に対するインピーダンス特性の一例を示す図である。
【図５】ＦＰＧＡ装置の消費電流の周波数変動に対するインピーダンス特性と、ＦＰＧＡ装置の消費電流特性との一例を示す図である。
【図６】ＦＰＧＡ装置の動作時間に対する電圧特性の変化の一例を示す図である。
【図７】実施形態１に係るＦＰＧＡ装置の等価回路図である。
【図８】実施形態１に係るＦＰＧＡ装置の模式的な側面図である。
【図９】実施形態１に係るＦＰＧＡ装置の反共振周波数を変更する処理の一例を示すフローチャートである。
【図１０】実施形態１に係るＦＰＧＡ装置の模式的な上面図である。
【図１１】実施形態１に係るＦＰＧＡ装置の反共振周波数を変更する処理の他の一例を示すフローチャートである。
【図１２】実施形態２に係るＦＰＧＡ装置の模式的な上面図である。
【図１３】実施形態２に係るＦＰＧＡ装置の反共振周波数を変更する処理の一例を示すフローチャートである。
【図１４】実施形態３に係るＦＰＧＡ装置の模式的な上面図である。
【図１５】一実施形態に係るＦＰＧＡ装置を備える光伝送装置の機能ブロック図である。
【図１６】一実施形態に係るＦＰＧＡ装置のコンフィギュレーションデータの変更処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。なお、以下の実施形態に用いる図面において、同一符号を付した部分は、特に断らない限り、同一もしくは同様の部分を表わす。
【００１５】
図１（Ａ）は、ＦＰＧＡ装置１０の模式的な上面図であり、図１（Ｂ）は、ＦＰＧＡ装置１０の模式的な側面図である。
【００１６】
ＦＰＧＡ装置１０は、基板１００上に、ＦＰＧＡパッケージ１０１と、メモリ１０６と、電源１０７と、を有する。また、基板１００の裏面には、バイパスコンデンサ１０９が配置されている。
【００１７】
基板１００は、ＦＰＧＡパッケージ１０１に電源１０７、バイパスコンデンサ１０９およびメモリ１０６を接続する配線１０８を有する。基板１００の例としては、多層プリント基板がある。図１（Ｂ）に示すように、基板１００の内部に、ＦＰＧＡパッケージ１０１と電源１０７とを接続する配線１０８、および、ＦＰＧＡパッケージ１０１とメモリ１０６とを接続する配線１１０が配置されている。
【００１８】
メモリ１０６は、ＦＰＧＡパッケージ１０１のダイチップ１０２にコンフィギュレーションデータを読み込ませるために、当該コンフィギュレーションデータを記憶する記憶領域を提供する。
【００１９】
電源１０７は、電圧をＦＰＧＡ装置１０に供給する回路である。電源１０７によりＦＰＧＡ装置１０に供給される電圧は、複数の電圧から選択可能であってもよい。
【００２０】
バイパスコンデンサ１０９は、ＦＰＧＡパッケージ１０１が一時的に多量の電流を消費する場合に備えて電荷を蓄積し、電源１０７の供給する電圧の変動を抑制するためのコンデンサである。
【００２１】
ＦＰＧＡパッケージ１０１は、ダイチップ１０２と、配線１０３と、コンデンサ１０４および１０５とを有する。
【００２２】
ダイチップ１０２は、内部にＦＰＧＡのチップを樹脂などにより封止した半導体素子であり、ＦＰＧＡパッケージ１０１に固定される。
【００２３】
配線１０３は、配線１０８を介して電源１０７に接続され、ダイチップ１０２への電圧供給のための配線パターンである。
【００２４】
コンデンサ１０４および１０５は、バイパスコンデンサ１０９と同様に、ダイチップ１０２が一時的に多量の電流を消費する場合に備えて、電荷を蓄積し、電源１０７の供給する電圧変動を抑制するためのコンデンサである。
【００２５】
ＦＰＧＡパッケージ１０１は、図１（Ｂ）に示すように、基板１００と複数のバンプ１１１を介して電気的に接続され、また、基板１００に固定される。したがって、ＦＰＧＡ装置１０は、論理デバイスが実装された半導体装置の一例である。
【００２６】
図２は、ＦＰＧＡ装置１０の動作を説明するフローチャートである。ステップＳ２０１において、ダイチップ１０２に配線を介して電圧供給を開始する。電圧供給の開始により、ダイチップ１０２に電源１０７の出力電圧が配線１０８および配線１０３を介して供給される。電圧供給により、ダイチップ１０２が動作を開始し、ステップＳ２０２において、メモリ１０６に記憶されているコンフィギュレーションデータを読み出す。読み出したコンフィギュレーションデータに応じて、ダイチップ１０２内部のＦＰＧＡの有するスイッチなどの設定が行われ、ダイチップ１０２内のＦＰＧＡにコンフィギュレーションデータに対応する回路が構成される。回路が構成されると、ステップＳ２０３において、ダイチップ１０２内のＦＰＧＡに構成された回路の動作が開始する。
【００２７】
ダイチップ１０２内に構成された回路は、論理回路のみならず、順序回路を含むことができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にプログラムを実行させるのと同等の機能を実現することができる。このため、ダイチップ１０２は、従来のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）などと異なり、消費電流の周波数変動が一定でなく、時間の経過に伴い負荷の状況などにより、消費電流が変化する。このため、ＦＰＧＡ装置１０においては、電源１０７から供給される電圧が大きく変動する場合がある。
【００２８】
図３は、ＦＰＧＡ装置１０の等価回路図である。符号３０１の領域がＦＰＧＡパッケージ１０１の等価回路であり、符号３０２の領域が電源１０７および配線１０８の等価回路である。電源１０７とダイチップ１０２とは、配線１０８と配線１０３とにより、符号３０３により示されるようにグランド配線３０３が接続されグランドレベルを共有する。この場合、グランド配線３０３と電圧を供給するための配線、および、電圧を安定化するためのコンデンサ１０４および１０５により、ダイチップ１０２に並列してキャパシタンス３０９が存在する。また、配線１０３には、インダクタンス３０７およびレジスタンス３０８が存在する。
【００２９】
また、符号３０２の等価回路においても、グランド配線３０３と電源を供給するための配線１０８、および、バイパスコンデンサ１０９により、電源１０７と並列してキャパシタンス３０６が存在する。また、配線１０８には、インダクタンス３０４およびレジスタンス３０５が存在する。
【００３０】
したがって、図３に示す等価回路の特性により定まるインピーダンスは、ＦＰＧＡに構成された回路の消費電流の周波数変動に対しては一定ではなくなり、例えば図４のグラフ４０１に示すように、変動する。また、ＦＰＧＡに構成された回路の消費電流の周波数変動の範囲に、インピーダンスが急激に増加する反共振点４０２が存在する場合がある。反共振点４０２が存在する理由は、キャパシタンス３０６および３０９が並列に接続され、またインダクタンス３０４および３０７とレジスタンス３０５および３０８とを介してキャパシタンス３０６および３０９が接続されていることによる。なお、反共振点４０２の周波数を反共振周波数という。
【００３１】
ダイチップ１０２からすると、ＦＰＧＡ内に構成された回路の消費電流のピーク周波数が反共振周波数に近くなると、ピーク周波数において電源１０７を含む電源回路のインピーダンスが急激に増加する。これにより、図５のグラフ５０１に示すようにダイチップ１０２の消費電流が急激に増加することになる。消費電流が増加すると、コンデンサ１０４、１０５およびバイパスコンデンサ１０９により電流が一時的に供給されるが、当該供給が終了すると、電源１０７の電圧が低下する。
【００３２】
図６は、ＦＰＧＡ装置の動作時間に対する電圧特性の一例を示す図である。図６の符号６０１は、ＦＰＧＡに構成された回路の消費電流のピーク周波数が反共振周波数に一致し、電源１０７の電圧が急激に低下することを示している。電源１０７の電圧が急激に低下すると、ダイチップ１０２内の回路の誤動作が発生し、誤動作により回路の動作が設計された動作と異なることになる場合がある。その後、ＦＰＧＡに構成された回路の消費電流の周波数変動が反共振周波数から離れると、電源１０７の電圧が回復し、ＦＰＧＡに構成された回路は設計通りの動作を行なう。しかし、ダイチップ１０２内の回路が順序回路を含む場合には、誤動作の影響が残ってしまい、誤動作の影響が後になって露見する場合がある。このため、誤動作の原因が順序回路の誤った設計により発生したのか、電源１０７の電圧低下により発生したのかの区別が困難となり得る。
【００３３】
したがって、ＦＰＧＡに構成された回路の消費電流のピーク周波数から反共振周波数をずらすように基板１００およびＦＰＧＡパッケージ１０１の設計を行なう必要がある。しかし、ＦＰＧＡ装置１０は、製造後であっても、コンフィギュレーションデータの変更により、動作時のＦＰＧＡに構成される回路を変更できる。このため、ＦＰＧＡ内の回路は、電源１０７を含む基板１００およびＦＰＧＡパッケージ１０１の設計時には確定することができず、ＦＰＧＡに構成された回路の消費電流の周波数変動を確定することが困難である。そのため、ＦＰＧＡに構成された回路の消費電流のピーク周波数から反共振周波数をずらすように、基板１００およびＦＰＧＡパッケージ１０１を前もって設計することは困難である。また、ＦＰＧＡに構成された回路の消費電流の周波数変動の範囲に反共振周波数を含まないようにコンフィギュレーションデータを生成することも現実的ではない。
【００３４】
以上のような電圧ドロップの発生を抑圧するために、以下の実施形態を説明する。
【００３５】
（実施形態１）
図７は、実施形態１に係るＦＰＧＡ装置１０の等価回路である。ＦＰＧＡ装置１０の等価回路は、変更部７０４により、キャパシタンス３０９、レジスタンス３０８およびインダクタンス３０７のいずれか１つ以上が変更可能となっている。
【００３６】
例えば、インダクタンス３０７は、複数のコイルやメアンダ（ｍｅａｎｄｅｒ）構造を有する配線などにより得られるようになっている。変更部７０４のスイッチの動作により、ダイチップ１０２内に構成された回路の動作時に、複数のコイルやメアンダ構造を有する配線の接続関係が変更される。複数のコイルの接続関係が直列になることにより、インダクタンス３０７は増大し、並列になることによりインダクタンス３０７は減少する。同様に、複数の抵抗やコンデンサの接続関係が変更部７０４により変更されてもよい。
【００３７】
変更部７０４は、コイル、抵抗およびコンデンサのいずれか一以上の接続関係を変更する。変更部７０４は、例えば、不揮発性のメモリから接続関係を表わす値を読み出し、メモリに記憶されている内容に応じてスイッチを制御する。
【００３８】
また、キャパシタンス３０９は、電圧の印加により容量が可変の可変容量コンデンサにより得られ、変更部７０４は、可変容量コンデンサに印加する電圧を変更してもよい。この場合には、変更部７０４のメモリには、可変容量コンデンサに印加する電圧の情報が記憶される。
【００３９】
変更部７０４によるインダクタンス３０７などの変更の設定は、特性設定部７０３により行なわれる。特性設定部７０３は、キャパシタンス３０９、レジスタンス３０８およびインダクタンス３０７の少なくとも１つの値が所望の値となるように、変更部７０４の有するメモリの記憶領域に書き込みを行なう。
【００４０】
特性設定部７０３による設定のために、特性モニタ部７０１は、ＦＰＧＡに構成された回路の消費電流の変動の特性をモニタする。特性モニタ部７０１は、例えば、スペクトラムアナライザやオシロスコープなど、周波数に対する電流や電圧の変動を測定することができる測定装置である。
【００４１】
特性モニタ部７０１によるモニタ結果は、特性決定装置７０２に入力され、配線１０３の特性が決定される。
【００４２】
なお、特性設定部７０３および特性モニタ部７０１は、ＦＰＧＡ装置１０に常時接続されている必要はない。変更部７０４によるインダクタンス３０７などの変更の設定を行なうときに、特性設定部７０３がＦＰＧＡ装置１０に接続されていればよい。また、ＦＰＧＡに構成された回路の消費電流の変動の特性をモニタするときに、特性モニタ部７０１がＦＰＧＡ装置１０に接続されていればよい。
【００４３】
図８は、本実施形態に係るＦＰＧＡ装置１０の模式的な側面図である。図１（Ｂ）と図８とを比較すると、図８に示すＦＰＧＡ装置１０には、基板１００とＦＰＧＡパッケージ１０１とのそれぞれに、スルービア８０３およびスルービア８０１が設けられている。スルービア８０１は、ＦＰＧＡパッケージ１０１内の配線１０３に接続されている。また、スルービア８０１とスルービア８０３とは、バンプ８０２を介して電気的に接続されている。
【００４４】
したがってスルービア８０３の下端は端子として機能する。スルービア８０３には、スペクトラムアナライザなどの周波数と電圧や電流の関係とを測定する装置を測定装置として接続することができる。ＦＰＧＡ装置１０を様々な条件で動作させることにより、ＦＰＧＡに構成された回路による消費電流の周波数変動に関する特性を測定することができる。
【００４５】
スルービア８０３、スルービア８０１およびバンプ８０２の位置は、スルービア８０３が電気的に配線１０３に接続されている限り、任意の位置とすることができる。ただし、ＦＰＧＡに構成された回路による消費電流の周波数変動に関する特性をより正確に測定するためには、ダイチップ１０２とスルービア８０３の距離が小さいほどよい。このため、スルービア８０３、スルービア８０１およびバンプ８０２の位置は、ダイチップ１０２の直下に設けられてよい。
【００４６】
特性モニタ部７０１によりＦＰＧＡの動作特性をモニタする。当該モニタの結果、ＦＰＧＡに構成された回路による消費電流のピーク周波数が反共振周波数と一致または近接する場合には、特性設定部７０３により、変更部７０４に記憶されるデータを変更する。記憶されるデータを変更することにより、変更部７０４は、キャパシタンス３０９、レジスタンス３０８およびインダクタンス３０７のいずれか１つ以上の値を現在の値から変更し、反共振周波数を変更し、消費電流のピーク周波数からずらす。反共振周波数を消費電流のピーク周波数からずらす（実質的に異ならせる）ために変更部７０４に記憶されるデータは、基板１００およびＦＰＧＡパッケージ１０１の設計時などにおいて決定することが可能である。反共振周波数は、ＦＰＧＡのコンフィギュレーションデータに依存せずに決定されるからである。
【００４７】
図９は、本実施形態に係るＦＰＧＡ装置１０の反共振周波数を変更する処理の一例を示すフローチャートである。ステップＳ９０１において、電圧供給が開始される。電圧供給の開始により、ダイチップ１０２に電圧が配線１０８および配線１０３を介して供給される。電圧供給の開始により、ステップＳ９０２において、メモリ１０６に記憶されているコンフィギュレーションデータがダイチップ１０２へ読み出される。読み出されたコンフィギュレーションデータに応じて、ダイチップ１０２内部のＦＰＧＡの有するスイッチなどの設定が行われ、ダイチップ１０２内のＦＰＧＡに、コンフィギュレーションデータに対応する回路が構成される。回路が構成されると、ステップＳ９０３において、ダイチップ１０２内のＦＰＧＡに構成された回路の動作が開始する。
【００４８】
ステップＳ９０４において、特性モニタ部７０１により、ＦＰＧＡに構成された回路による消費電流の周波数特性を測定する。ステップＳ９０５において、特性設定部７０３により設定する特性の算出を行なう。例えば、反共振周波数の特定や電圧が降下する周波数範囲の特定を特性決定装置７０２により行なう。特定された反共振周波数や電圧が降下する周波数範囲を周波数変動の範囲外とするキャパシタンス３０９、レジスタンス３０８およびインダクタンス３０７の値を特性決定装置７０２などにより算出する。ステップＳ９０６において、ステップＳ９０５で算出された特性の設定を特性設定部７０３により行なう。
【００４９】
図１０は、本実施形態に係るＦＰＧＡ装置１０の模式的な上面図である。図１（Ａ）に示したＦＰＧＡ装置１０の上面図に対して、図１０の上面図には、変更部７０４として、容量設定メモリ１００１と容量変更部１００２とが示されている。この一例では、容量変更部１００２は、ＦＰＧＡパッケージ１０１に搭載されたコンデンサ１０４の容量を変更することにより、反共振周波数をＦＰＧＡに構成された回路による消費電流のピーク周波数からずらす。
【００５０】
容量設定メモリ１００１は、容量変更部１００２によりコンデンサ１０４の容量を変更した後の値を記憶する不揮発性のメモリである。容量設定メモリ１００１は、メモリ１０６により実現されてもよい。電圧の供給が開始されると、容量変更部１００２は、容量設定メモリ１００１に記憶されている値を読み出し、読み出された値に基づいて、コンデンサ１０４の容量を変更する。例えば、コンデンサ１０４がスイッチの接続された複数のコンデンサにより形成されている場合には、コンデンサに接続されたスイッチの設定を行ない、コンデンサの接続関係を変更させ、容量を変更する。あるいは、コンデンサ１０４が電圧の印加に応じて容量が変更される可変容量コンデンサであれば、容量変更部１００２は、容量設定メモリ１００１に記憶されている値に応じた電圧を可変容量コンデンサに印加する。
【００５１】
図１１は、ＦＰＧＡ装置１０の反共振周波数を変更する処理の他の一例を示すフローチャートであり、図９に示すフローチャートのステップＳ９０４からＳ９０６の処理を詳細に説明するフローチャートである。
【００５２】
ステップＳ１１０１は、ステップＳ９０４に対応しており、特性モニタ部７０１により消費電流の周波数特性（ｆｉ）を測定する。ステップＳ１１０２からステップＳ１１０４は、ループを形成しており、コンデンサの容量のパターン（容量変更部１００２による変更後のコンデンサの容量値）を選択する都度、ループを一回回り、ステップＳ１１０３を実行する。ステップＳ１１０３においては、選択されたコンデンサの容量パターンに変更した場合の反共振周波数（ｆｃ_ｎ）を算出する。
【００５３】
ステップＳ１１０５において、周波数特性ｆｉの周波数の範囲内に反共振周波数が含まれないコンデンサの容量を選択する。ここで、周波数特性ｆｉおよび周波数ｆについて|ｆｉ−ｆ|を、周波数特性ｆｉの周波数の範囲の任意の周波数ｇに対して、ｍｉｎ|ｆ−ｇ|と定義する。したがって、ｆが周波数特性ｆｉの周波数の範囲内に含まれていれば、|ｆｉ−ｆ|＝０となる。一方、ｆが周波数特性ｆｉの周波数の範囲内に含まれていなければ|ｆｉ−ｆ|は０とならず、ｆが周波数特性ｆｉの周波数の範囲から外れるほど大きな値を取る。ステップＳ１１０５はステップＳ９０５に対応する。
【００５４】
ステップＳ１１０５においては、周波数特性ｆｉについて|ｆｉ−ｆｃ_ｎ|が０とならないコンデンサの容量を選択する。この場合、|ｆｉ−ｆｃ_ｎ|が最も大きくなるコンデンサの容量を選択するのが好ましい。反共振周波数が、周波数特性ｆｉの周波数の範囲から外れるほど、ＦＰＧＡを実際に動作させた場合の電流の周波数変動が反共振周波数と一致する可能性が小さくなるからである。
【００５５】
ステップＳ１１０６において、ステップＳ１１０５で選択したコンデンサの容量を容量設定メモリ１００１に書き込む。ステップＳ１１０６は、ステップＳ９０６に対応する。
【００５６】
以上のように、本実施形態においては、ダイチップ１０２に特性モニタ部７０１を接続し、ダイチップ１０２の周波数特性を測定する。測定結果に基づいて変更部７０４により、キャパシタンス３０９、レジスタンス３０８およびインダクタンス３０７の少なくとも１つの値を変更するように設定を行なう。したがって、コンフィギュレーションデータが変更されても、ＦＰＧＡに構成された回路による消費電流のピーク周波数から反共振周波数をずらすことができる。これにより、ＦＰＧＡを安定させて動作させることができる。また、反共振周波数による電圧ドロップが抑制されるので、電源１０７の小型化を実現できる。さらに、ＦＰＧＡの誤動作が発生した場合の原因の特定が容易となる。
【００５７】
（実施形態２）
図１２は、実施形態２に係るＦＰＧＡ装置１１の機能ブロック図である。ＦＰＧＡ装置１１は、図１０に示したＦＰＧＡ装置１０がさらに電圧設定メモリ１２０２と電圧変更部１２０３とを有する。また、ＦＰＧＡ装置１１の動作特性を判定するために、特性モニタ部７０１として特性判定回路１２０１が使用される。
【００５８】
ＦＰＧＡ装置１１の電源１０７は、出力電圧が可変である。電源１０７の出力電圧は、電圧変更部１２０３により変更される。電圧変更部１２０３は、ＦＰＧＡ装置１１の動作開始時に、電圧設定メモリ１２０２に記憶されている電圧に関する情報を読み出し、読み出された情報に基づいて、電源１０７の出力電圧を変更する。これにより、ダイチップ１０２に供給される電圧が変更可能である。なお、電圧設定メモリ１２０２は、メモリ１０６により実現されていてもよい。
【００５９】
特性判定回路１２０１は、ＦＰＧＡ内に構成された回路の動作をモニタする。特性判定回路１２０１がＦＰＧＡ内に構成された回路の動作をモニタするために、ＦＰＧＡ内に構成される回路には、動作モニタ回路が含まれる。動作モニタ回路の例としては、動作エラーを検出するエラーモニタ１２００がある。特性判定回路１２０１は、動作モニタ回路の一例であるエラーモニタ１２００の出力を監視する。
【００６０】
エラーモニタ１２００は、ダイチップ１０２内に構成された他の回路部分による動作エラーをモニタする回路である。具体的には、ダイチップ１０２内に構成された回路による演算結果が正しいかどうかをモニタする。例えば、ダイチップ１０２内に構成された回路の出力のパリティをモニタし、パリティにエラーが発生していないかどうかをモニタする。
【００６１】
特性判定回路１２０１は、容量設定メモリ１００１の設定も可能であり、容量設定メモリ１００１の設定の変更により、容量変更部１００２を介してコンデンサ１０４の容量を変更することができる。
【００６２】
特性判定回路１２０１は、設定されたコンデンサ１０４の容量にて、電源１０７の複数の出力電圧から１の出力電圧を選択し、ＦＰＧＡ装置１１を動作させることができる。もし、エラーモニタ１２００によりエラーが検出されなければ、その時のコンデンサ１０４の容量と電源１０７の出力電圧でＦＰＧＡ装置１１を正しく動作させることを確認することができる。
【００６３】
このように、コンデンサ１０４の容量と電源１０７の出力電圧を様々に組み合わせて、ＦＰＧＡ装置１１を正しく動作させることができるか、あるいは、誤動作が発生するかを確認することができる。そして、例えば、電源１０７の出力電圧を最も低くしても誤動作が発生しないコンデンサ１０４の容量を決定することができる。これにより、ＦＰＧＡの誤動作を回避しつつ、ＦＰＧＡ装置１１の低消費電力を実現することができる。
【００６４】
図１３は、実施形態２に係るＦＰＧＡ装置の反共振周波数を変更する処理の一例を示すフローチャートである。ステップＳ１３０１からステップＳ１３１０までは、第１のループであるループ１を形成している。ループ１は、コンデンサ１０４の容量ごとに１回実行される。以下においては、変数ｎに、コンデンサ１０４の容量が代入される。
【００６５】
ステップＳ１３０２において、変数ＶｐｒｅｖにＶｍａｘを代入する。Ｖｍａｘは、電源１０７の出力可能な電圧の最高値を表わす。Ｖｐｒｅｖは、ＦＰＧＡ装置１１が正しく動作する電圧の最大値を表わす変数となる。
【００６６】
ステップＳ１３０３からステップＳ１３０８までは、第２のループであるループ２を形成している。ループ２のループは、電源１０７の出力可能な電圧ごとに１回実行される。以下において、変数Ｖには、電源１０７の出力可能な電圧が高電圧から低電圧の順序で代入がされる。
【００６７】
ステップＳ１３０４において、電源１０７の出力電圧を変数Ｖの値に設定する。ステップＳ１３０５において、ダイチップ１０２に構成された回路を動作させ、ＦＰＧＡに構成された回路による消費電流の周波数変動に関する周波数特性を測定する。測定された周波数特性をｆｉにより表す。
【００６８】
ステップＳ１３０６において、エラーモニタ１２００によりエラーが検出されたかどうかを判断する。エラーが検出されなかった場合には、Ｎｏに分岐し、次に実行する処理はステップＳ１３０７になる。エラーが検出された場合には、Ｙｅｓに分岐し、次に実行する処理はステップＳ１３０９になる。
【００６９】
ステップＳ１３０７において（ステップＳ１３０６においてエラーが検出されなかった場合）、変数Ｖｐｒｅｖに変数Ｖの値を代入する。これにより、変数Ｖｐｒｅｖには、エラーが検出されなかったときの電源１０７の出力電圧の値が代入されることになる。ステップＳ１３０７が終了すれば、ステップＳ１３０３へ戻り、次のＶの値についてループ２を実行する。もし、全てのＶの値についてループ２を実行したならば、次に実行する処理はステップＳ１３１０になり、次のコンデンサの容量の値についてループ１を実行する。もし、全てのコンデンサの容量の値についてループ１を実行したならば、次に実行する処理は、ステップＳ１３１１になる。
【００７０】
ステップＳ１３０９において（ステップＳ１３０６においてエラーが検出された場合）、変数Ｖｐｒｅｖに代入された値は、エラーが発生せずに動作したことになる電源１０７の出力電圧の値の下限を表わす。ステップＳ１３０９においては、ｆｉとｎとをＶｐｒｅｖに関連付けて記録する。ステップＳ１３０９の処理が終了すると、ループ２を抜けて、ステップＳ１３０１に戻り、変数ｎに次のコンデンサ１０４の容量を代入し、ループ１を実行する。もし、次のコンデンサ１０４の容量がなければ、ループ１を終了し、次の処理はステップＳ１３１１になる。
【００７１】
ループ１を抜けたステップＳ１３１１においては、記録されたｆｉのうち、|ｆｉ−ｆｃ_ｎ|が０でないｆｉに関連付けられたｎとＶｐｒｅｖを選択する。
【００７２】
ステップＳ１３１２において、電源１０７の出力電圧を、選択された変数Ｖｐｒｅｖに設定する。
【００７３】
ステップＳ１３１３において、コンデンサの容量を変数ｎに代入された値に設定する。
【００７４】
なお、ステップＳ１３１２とＳ１３１３とを逆の順序で実行してもよい。
【００７５】
また、上記では、ステップＳ１３１２においては、電源電圧を選択されたＶｐｒｅｖにしているが、これは、ダイチップ１０２に構成された回路が正しく動く電圧の下限がＶｐｒｅｖに代入されており、より低い電圧でダイチップ１０２を動作させるためである。もし、低い電圧でダイチップ１０２を動作させないならば、電圧をＶｐｒｅｖより大きい値（例えば、Ｖｍａｘ）に設定してもよい。当該設定により、大きな電圧の動作マージンを確保できる。
【００７６】
以上のように、本実施形態では、ダイチップ１０２に構成される回路の中にエラーモニタを含ませ、誤動作の有無をモニタすることができる。したがって、実施形態１の効果に加え、実際に誤動作をしない範囲の電源１０７の出力電圧、コンデンサ１０４の容量を選択することができ、ＦＰＧＡを安定させて動作させることができる。
【００７７】
（実施形態３）
図１４は、実施形態３に係るＦＰＧＡ装置１１の模式的な上面図である。本実施形態においては、実施形態２における電源１０７の出力電圧およびコンデンサ１０４の容量を選択することに加えて、電源１０７に接続される複数の配線を選択することができる。複数の電源の配線は、互いに特性が異なるようにすることができる。したがって、電源の配線の特性を、配線の選択を加えることにより多様にすることができる。
【００７８】
図１４に示すようにＦＰＧＡパッケージ１０１には、配線としてパターンＡ（１０３−１）およびパターンＢ（１０３−２）が形成されている。パターンＡ（１０３−１）とパターンＢ（１０３−２）とは、パターン形状が異なっており、インダクタンス、レジスタンス、また、グランド配線とのキャパシタンスが異なっている。また、パターンＡ（１０３−１）およびパターンＢ（１０３−２）のいずれを選択するかは、メモリ１０６に記憶されるコンフィギュレーションデータにより選択が可能となっている。したがって、コンフィギュレーションデータの設定により配線の選択が可能となる。
【００７９】
パターンＡ（１０３−１）およびパターンＢ（１０３−２）のいずれを選択するかは、まず、パターンＡ（１０３−１）を選択して、図１３のフローチャートの処理を実行し、電源１０７の最小の出力電圧を求める。次に、パターンＢ（１０３−２）を選択して、図１３のフローチャートを実行し、電源１０７の最小の出力電圧を求める。そして、電源１０７の最小の出力電圧の低い方のパターンを選択する。
【００８０】
本実施形態によれば、実施形態２の効果に加え、電源配線パターンの選択により、反共振周波数を消費電流のピーク周波数からずらすことができる。これにより、ＦＰＧＡを安定に動作させることができる。
【００８１】
（通信装置への使用例）
図１５は、上述のいずれかの実施形態に係るＦＰＧＡ装置を使用した光伝送装置１５０１の機能ブロック図である。図１５において、光伝送装置１５０１は、光送受信部１５０２と、ＤＳＰ１５０３と、フレーマ１５０４と、ＣＦＰ１５０５を備える。光伝送装置１５０１は、通信装置の一例である。ＤＳＰは、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略である。ＣＦＰは、Ｃｅｎｔｕｍ  Ｇｉｇａｂｉｔ  Ｆｏｒｍ  Ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅの略である。
【００８２】
ＣＦＰ１５０５は、トランシーバの一例である。ＣＦＰ１５０５には、外部機器が接続され、光伝送装置１５０１により送受信される信号がＣＦＰ１５０５を介して電気信号として外部機器と入出力される。
【００８３】
フレーマ１５０４は、ＣＦＰ１５０５を介して入出力される電気信号の形式と、デジタル信号のフレーム形式と、の間の変換を行なう。
【００８４】
ＤＳＰ１５０３は、フレーマ１５０４から入力されるデジタル信号を多重化し、アナログ信号に変換して光送受信部１５０２に変換されたアナログ信号を出力する。また、ＤＳＰ１５０３は、光送受信部１５０２から受信されるアナログ信号をデジタル信号に変換し、変換されたデジタル信号処理にデジタル信号処理を行ない、光伝送路を光信号が伝送される際の波形の歪などの影響を除去する。
【００８５】
光送受信部１５０２は、光信号の入出力インターフェースとして機能する。光送受信部１５０２は、ＤＳＰ１５０３の出力する多重化信号を光信号に変調し、対向する光伝送装置に光信号を送信する。また、光送受信部１５０２は、対向する光伝送装置から受信した光信号を電気信号に変換し、変換した電気信号をＤＳＰ３０３へ出力する。
【００８６】
ＤＳＰ１５０３に、上述したＦＰＧＡ装置１０または１１を使用することができる。光伝送装置１５０１による光伝送のビットレートは毎秒１００ギガビットを超える場合もあり、ＤＳＰ１５０３には、高速処理が求められる。また、今日では、光伝送技術は社会のインフラストラクチャの一部となっており、光伝送装置には高い信頼性が求められている。
【００８７】
そこで、ＤＳＰ１５０３を上述のＦＰＧＡ装置１０または１１の使用により実現することで、複雑な処理をハードウェア構成により実現でき高速処理を実現することが可能であり、また、広い動作周波数の範囲において安定して動作させることが可能となる。
【００８８】
また、ＦＰＧＡ装置１０および１１は、ＤＳＰ１５０３の機能の実現に使用されることに限定されるものではなく、フレーマ１５０４の処理にも使用することができる。また、ＦＰＧＡ装置１０および１１は、アナログ信号とデジタル信号との変換においても使用することが可能である。例えば、ＣＦＰ１５０５の機能の実現に使用することができる。
【００８９】
また、ＦＰＧＡ装置１０および１１は、光伝送装置１５０１への使用に限定されることはなく、デジタル信号処理およびアナログ信号とデジタル信号との変換のいずれかまたは両方を行なう装置に使用することができる。例えば、携帯電話機、携帯電話機の基地局、オーディオ装置などの機能の全てまたは一部の実現のためにＦＰＧＡ装置１０、１１を使用することができる。
【００９０】
また、万が一、ＦＰＧＡ装置に不具合があっても、コンフィギュレーションデータの書き換えにより、不具合への対応が可能である。また、新たな処理を追加する際にも同様の対応が可能である。
【００９１】
図１６は、一実施形態に係るＦＰＧＡ装置のコンフィギュレーションデータの変更処理の一例を示すフローチャートである。
【００９２】
不具合の改修や新たな処理の追加に伴う回路構成の変更に伴い、ステップＳ１６０１において、コンフィギュレーションデータの変更がされる。
【００９３】
ステップＳ１６０２において、コンフィギュレーションデータをＦＰＧＡ装置１０または１１に適用し、図１３などのフローチャートの処理を行なうことにより、適切なコンデンサの容量などが選択される。
【００９４】
ステップＳ１６０３において、稼働している光伝送装置のコンフィギュレーションデータおよび容量設定メモリの記憶内容が変更される。
【００９５】
以上のように、データの変更により、ハードウェア要素の交換を行なうことなく、不具合の改修や新たな処理の追加に対応することができ、迅速な改修や処理の追加に対応することができる。
【００９６】
（付記）
以上の各実施形態を含む実施形態に関し、更に以下の付記を開示する。
【００９７】
（付記１）
プログラム可能な論理デバイスと、
前記論理デバイスに電圧を供給する配線と、
前記電圧の供給を受けて動作する前記論理デバイスの動作特性をモニタして得られた前記動作特性に基づいて、前記配線の周波数特性を変更する変更部と、
を備える、通信装置。
【００９８】
（付記２）
前記動作特性を表わす値を記憶する記憶領域を有し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記配線の周波数特性を変更する、付記１に記載の通信装置。
【００９９】
（付記３）
前記変更部が前記配線の周波数特性を変更することは、前記配線が有する反共振周波数を、前記論理デバイスが消費する電流の周波数特性におけるピーク周波数からずらすことである、付記１または２に記載の通信装置。
【０１００】
（付記４）
前記変更部は、前記配線の有するインダクタンス、レジスタンスおよびキャパシタンスのいずれか１以上を変更する、付記１から３のいずれか１項に記載の通信装置。
【０１０１】
（付記５）
前記論理デバイスに電圧を供給する配線は複数の配線から選択可能であり、
前記論理デバイスは、前記複数の配線から使用する配線を選択する、付記１から４のいずれか１項に記載の通信装置。
【０１０２】
（付記６）
前記論理デバイスに供給される電圧は選択可能であり、
前記記憶領域は、前記選択可能な電圧のうちから選択された電圧を表わす値を記憶し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記論理デバイスに供給される電圧を変更する、付記２に記載の通信装置。
【０１０３】
（付記７）
前記論理デバイスに供給される電流の周波数特性をモニタするための端子を有する、付記１から６のいずれか１項に記載の通信装置。
【０１０４】
（付記８）
プログラム可能な論理デバイスと、
前記論理デバイスに電圧を供給する配線と、
前記電圧の供給を受けて動作する前記論理デバイスの動作特性のモニタにより得られた動作特性に基づいて、前記配線の周波数特性を変更する変更部と、
を備える、半導体装置。
【０１０５】
（付記９）
前記動作特性を表わす値を記憶する記憶領域を有し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記配線の周波数特性を変更する付記８に記載の半導体装置。
【０１０６】
（付記１０）
前記変更部が前記配線の周波数特性を変更することは、前記配線が有する反共振周波数を、前記論理デバイスが消費する電流の周波数特性におけるピーク周波数からずらすことである、付記８または９に記載の半導体装置。
【０１０７】
（付記１１）
前記変更部は、前記配線の有するインダクタンス、レジスタンスおよびキャパシタンスのいずれか１以上を変更する、付記８から１０のいずれか１項に記載の半導体装置。
【０１０８】
（付記１２）
前記論理デバイスに電圧を供給する配線は複数の配線から選択可能であり、
前記論理デバイスは、前記複数の配線から使用する配線を選択する、付記８から１１のいずれか１項に記載の半導体装置。
【０１０９】
（付記１３）
前記論理デバイスに供給される電圧は選択可能であり、
前記記憶領域は、前記選択可能な電圧のうちから選択された電圧を表わす値を記憶し、
前記変更部は、前記記憶領域に記憶された値に基づいて、前記論理デバイスに供給される電圧を変更する、付記９に記載の半導体装置。
【０１１０】
（付記１４）
前記論理デバイスに供給される電流の周波数特性をモニタするための端子を有する、付記８から１３のいずれか１項に記載の半導体装置。
【０１１１】
（付記１５）
電圧の供給を受けて動作するプログラム可能な論理デバイスの動作特性のモニタにより得られた動作特性に基づいて、前記電圧を前記論理デバイスに供給する配線が有する周波数特性を変更する、周波数特性変更方法。
【０１１２】
（付記１６）
前記配線の周波数特性を変更することは、前記配線が有する反共振周波数を前記論理デバイスが消費する電流の周波数特性におけるピーク周波数からずらすことである、付記１５に記載の周波数特性変更方法。
【０１１３】
（付記１７）
前記配線の周波数特性を変更することは、前記配線の有するインダクタンス、レジスタンスおよびキャパシタンスのいずれか１以上を変更することである、付記１５または１６に記載の周波数特性変更方法。
【０１１４】
（付記１８）
前記配線の有するインダクタンス、レジスタンスおよびキャパシタンスのいずれか１以上を変更することは、複数の配線から１の配線を選択し、選択された配線により前記論理デバイスに電圧を供給することである、付記１７に記載の周波数特性変更方法。
【０１１５】
（付記１９）
前記論理デバイスの動作特性をモニタし、
前記モニタされた前記動作特性に基づいて、前記動作特性を表わす値を記憶領域に記憶し、
前記記憶領域から前記動作特性を表わす値を読み出し、前記電圧を前記論理デバイスに供給する配線が有する周波数特性を変更する、付記１５から１８のいずれか１項に記載の周波数特性変更方法。
【０１１６】
（付記２０）
前記論理デバイスに、前記論理デバイスの動作エラーを検出する検出回路を構成し、
前記論理デバイスの動作特性をモニタすることは、前記検出回路により前記動作エラーが検出されるかどうかをモニタすることである、付記１５から１９のいずれか１項に記載の周波数特性変更方法。
【０１１７】
（付記２１）
前記論理デバイスに供給する電圧を変化させて、前記論理デバイスの動作特性をモニタする、付記２０に記載の周波数特性変更方法。
【０１１８】
（付記２２）
前記論理デバイスに供給する電圧のうち、前記検出回路により前記動作エラーが検出されない電圧の下限の電圧を前記論理デバイスに供給することを選択する、付記２１に記載の周波数特性変更方法。
【符号の説明】
【０１１９】
１０、１１  ＦＰＧＡ装置
１００  基板
１０１  ＦＰＧＡパッケージ
１０２  ダイチップ
１０３  配線
１０４、１０５  コンデンサ
１０６  メモリ
１０７  電源
１０８、１１０  配線
１０９  バイパスコンデンサ
１１０  配線
３０１  ＦＰＧＡパッケージの等価配線
３０２  電源１０７および配線１０８の等価配線
３０３  グランド
３０４、３０７  インダクタンス
３０５、３０８  レジスタンス
３０６、３０９  キャパシタンス
７０１  特性モニタ部
７０２  測定装置
７０３  特性設定部
７０４  変更部
８０１、８０３  スルービア
８０２  バンプ
１００１  容量設定メモリ
１００２  容量変更部
１２００  エラーモニタ
１２０１  電圧変更部
１２０２  電圧設定メモリ
１５０１  光伝送装置
１５０２  光送受信部
１５０３  ＤＳＰ
１５０４  フレーマ
１５０５  ＣＦＰ
【図１】
2017184177.tif 000003
【図２】
2017184177.tif 000004
【図３】
2017184177.tif 000005
【図４】
2017184177.tif 000006
【図５】
2017184177.tif 000007
【図６】
2017184177.tif 000008
【図７】
2017184177.tif 000009
【図８】
2017184177.tif 000010
【図９】
2017184177.tif 000011
【図１０】
2017184177.tif 000012
【図１１】
2017184177.tif 000013
【図１２】
2017184177.tif 000014
【図１３】
2017184177.tif 000015
【図１４】
2017184177.tif 000016
【図１５】
2017184177.tif 000017
【図１６】
2017184177.tif 000018