(57)【要約】【課題】デカップリングコンデンサの効果を定量的に検証することを可能とする方法及びシステムを提供する。【解決手段】評価対象である半導体装置１００内に、その内部で生ずる電源電圧ＶＣＣｉｎの変動を検知する内部回路１０が設けられる。この場合に、半導体装置１００の電源電圧ＶＣＣと、内部回路１０が動作可能な最大動作周波数Ｆｍａｘとの間に存在する第１の関係が特定される。更に、半導体装置１００と電源１２０との間に実装されるデカップリングコンデンサＣ１〜Ｃｎの実装形態と、内部回路１０の最大動作周波数Ｆｍａｘとの間に存在する第２の関係が特定される。デカップリングコンデンサＣ１〜Ｃｎの実装形態に対応する半導体装置内での電源電圧の等価的な変動量ΔＶＣＣは、特定された第１及び第２の関係に基づいて算出される。それにより、デカップリングコンデンサの効果が定量的に検証される。【選択図】図５
2010135599.tif 000002
【特許請求の範囲】
【請求項１】
対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出方法であって、
前記コンピュータは、
前記配置データに対し、前記半導体装置内で生ずる電源電圧の変動を検知する内部回路を示すデータを、前記配置データ全域にわたって設置するステップと、
前記半導体装置へ前記電源入力部を介して入力される電源電圧と前記内部回路が動作可能な最大動作周波数との間に存在する第１の関係を特定する第１の特定ステップと、
前記内部回路を示すデータを配置した配置データと前記内部回路の最大動作周波数との間に存在する第２の関係を特定する第２の特定ステップと、
前記第１の関係及び前記第２の関係に基づいて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップと
を実行する電圧変動量算出方法。
【請求項２】
前記第１の特定ステップは、
前記半導体装置へ前記電源入力部を介して供給される電源電圧を変化させる電圧変化ステップと、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記電源電圧を、前記内部回路の動作周波数に関連付けて記憶する電圧記憶ステップと、
前記内部回路の動作周波数を他の所定の周波数へ変更し、前記電圧変化ステップ及び前記第１の電圧記憶ステップを繰り返すステップと
を有する、請求項１記載の電圧変動量算出方法。
【請求項３】
前記第1の特定ステップは、前記電圧変化ステップの前に、前記内部回路の動作周波数を与えるクロック信号の位相を走査し、前記半導体装置の動作状態が最悪であるところの前記クロック信号の位相を決定するクロック位相走査ステップを更に有する、請求項２記載の電圧変動量算出方法。
【請求項４】
前記第２の特定ステップは、
前記デカップリングコンデンサの実装形態を変化させる実装形態変化ステップと、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記実施形態を、前記内部回路の動作周波数に関連付けて記憶する実施形態記憶ステップと、
前記内部回路の動作周波数を他の所定の周波数へ変更し、前記実装形態変化ステップ及び前記実施形態記憶ステップを繰り返すステップと
を有する、請求項１乃至３のうちいずれか一項記載の電圧変動量算出方法。
【請求項５】
前記第２の特定ステップは、前記実装形態変化ステップの前に、前記内部回路の動作周波数を与えるクロック信号の位相を走査し、前記半導体装置の動作状態が最悪であるところの前記クロック信号の位相を決定するクロック位相走査ステップを更に有する、請求項４記載の電圧変動量算出方法。
【請求項６】
対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態を決定するコンデンサ実装形態決定方法であって、
前記コンピュータは、
請求項１乃至５のうちいずれか一項記載の電圧変動量算出方法を用いて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップと、
前記等価的な変動量に基づいて、前記半導体装置が動作可能であるところのデカップリングコンデンサの実装形態を決定する決定ステップと
を実行するコンデンサ実装形態決定方法。
【請求項７】
前記決定ステップは、前記等価的な変動量が許容範囲内にあるかどうかを判定する判定ステップを有する、請求項６記載のコンデンサ実装形態決定方法。
【請求項８】
前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出システムであって、
前記半導体装置内に該半導体装置全体にわたって設けられ、前記半導体装置内で生ずる電源電圧の変動を検知する内部回路と、
前記半導体装置へ前記電源入力部を介して入力される電源電圧と前記内部回路が動作可能な最大動作周波数との間に存在する第１の関係と、前記デカップリングコンデンサの実装形態と前記内部回路の最大動作周波数との間に存在する第２の関係とを記憶する記憶部と、
前記第１の関係及び前記第２の関係に基づいて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出部と
を有する電圧変動量算出システム。
【請求項９】
前記内部回路は、複数のレジスタ回路を有するシフトレジスタ回路又はカウンタ回路として構成され、
前記内部回路は、前記半導体装置内で電源電圧の変動が発生した場合に、前記半導体装置内で最も低電位となっているエリアにあるレジスタ回路をスタックさせる、請求項８記載の電圧変動量算出システム。
【請求項１０】
半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態を決定するコンデンサ実装形態決定システムであって、
請求項８又は９記載の電圧変動量算出システムと、
前記等価的な変動量に基づいて、前記半導体装置が動作可能であるところのデカップリングコンデンサの実装形態を決定する判定部と
を有するコンデンサ実装形態決定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出方法及びシステムに関する。更に、本発明は、半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態を決定するコンデンサ実装形態決定方法及びシステムに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field  Programmable  Gate  Array）は、ピンの配置、各ピンに割り当てるＩ／Ｏ信号及び回路構成等をユーザが任意に設定（プログラミング）可能な半導体装置である。
【０００３】
一般に、半導体装置の電源入力部には、半導体装置が発生する電源雑音や、それに伴う放射電磁雑音（ＥＭＩ）を抑制することを目的として、デカップリングコンデンサ（又は「バイパスコンデンサ」とも呼ばれる。）が実装される。デカップリングコンデンサの効果は、通常、プリント回路基板シミュレーションを用いて確認される。
【０００４】
搭載される集積回路（ＩＣ）に対しデカップリングコンデンサを設ける場合の当該デカップリングコンデンサの実装回路設計方法は、例えば、下記特許文献１に開示される。
【特許文献１】特開２００４−２５８８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、高機能ＦＰＧＡのような、回路動作が膨大、複雑且つ任意である半導体装置では、適切なデカップリングコンデンサの実装形態を推定することは非常に困難である。このような半導体装置が実装された基板では、モデリング及び動作パターンの抽出が極めて困難であるために、ガードバンドを想定せざるを得ない。すなわち、設計品質を維持して障害を防止するために、デカップリングコンデンサが過剰に実装されることとなる。これにより、基板製造コストは高価となり、ひいては製造性が悪化する。
【０００６】
従って、本発明は、デカップリングコンデンサの効果を定量的に検証することを可能とする電圧変動量算出方法及びシステムを提供することを目的とする。更に、本発明は、このような方法及びシステムを用いて、デカップリングコンデンサの適切な実装形態を決定することを可能とするデカップリングコンデンサ実装形態決定方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一実施例は、対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出方法に関する。前記コンピュータは、前記配置データに対し、前記半導体装置内で生ずる電源電圧の変動を検知する内部回路を示すデータを、前記配置データ全域にわたって設置するステップと、前記半導体装置へ前記電源入力部を介して入力される電源電圧と前記内部回路が動作可能な最大動作周波数との間に存在する第１の関係を特定する第１の特定ステップと、前記内部回路を示すデータを配置した配置データと前記内部回路の最大動作周波数との間に存在する第２の関係を特定する第２の特定ステップと、前記第１の関係及び前記第２の関係に基づいて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップとを実行する。
【発明の効果】
【０００８】
本開示の電圧変動量算出方法及びシステムは、デカップリングコンデンサの効果を定量的に検証することを可能にするという効果を奏する。また、本開示のデカップリングコンデンサ実装形態決定方法及びシステムは、デカップリングコンデンサの適切な実装形態を決定することを可能にするという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
本発明を実施するための最良の形態を、添付の図面を参照して説明する。
【実施例１】
【００１０】
図１は、本発明の一実施例に従うシステムを表す。このシステムによれば、デカップリングコンデンサの実装形態に対応する半導体装置内での電源電圧の等価的な変動量を算出することができる。更に、このシステムによれば、半導体装置の電源入力部に設けられるデカップリングコンデンサの実装形態を決定することができる。
【００１１】
システムは、半導体装置（例えば、ＦＰＧＡ。）１００内で発生した電源電圧の変動を検知する内部回路１０と、内部回路１０が動作可能な最大動作周波数Ｆｍａｘを測定する測定制御部、すなわちコントローラ２０を有する。
【００１２】
内部回路１０は、ＦＰＧＡ１００内の未使用の回路及び配線を利用して、シフトレジスタ回路又はカウンタ回路として構成される。コントローラ２０は、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路がスタックされたことを検出することで、内部回路１０の最大動作周波数Ｆｍａｘを測定する。
【００１３】
ここで、ＦＰＧＡ１００内での電源電圧の変動について説明する。図２は、ＦＰＧＡ１００内で発生する電源電圧の変動を説明するための図である。図２中で、ＶＣＣｉｎは内部電源電圧を示す。
【００１４】
ＰチャネルＭＯＳＦＥＴ（以降、「ＰＭＯＳトランジスタ」と呼ぶ。）ＰＭ１及びＮチャネルＭＯＳＦＥＴ（以降「ＮＭＯＳトランジスタ」と呼ぶ。）ＮＭ１から構成されるＣＭＯＳは、ＰＭＯＳトランジスタＰＭ１のソースで内部電源電圧ＶＣＣｉｎに接続され、ＮＭＯＳトランジスタＮＭ１のソースで接地（ＧＮＤ）に接続されている。ＰＭＯＳトランジスタＰＭ１及びＮＭＯＳトランジスタＮＭ１の各ゲートには同じ信号が入力される。そして、ＣＭＯＳの出力信号は、ＦＰＧＡ１００の特定のピンＰ１から出力される。ピンＰ１から出力される信号は、入力信号がＨ（ハイ）の場合にはＬ（ロー）であり、一方、入力信号がＬの場合にはＨである。このことから、ＣＭＯＳはインバータとしての機能を備えている。
【００１５】
入力信号のレベルがＨからＬへ又はＬからＨへ変化する際、ＣＭＯＳから接地へ流れる電流が変化する。この電流の変化は、接地の電圧レベルを変化させる。接地での電圧レベルの変化は、その電圧レベルを高くする方向に生ずる。このため、接地と内部電源電圧との間の電位差は小さくなり、内部電源電圧は見かけ上低下することとなる。すなわち、接地での電圧レベルの変化は、内部電源電圧の変動（低下）と等価である。
【００１６】
内部電源電圧の等価的な変動は、回路の動作に影響を及ぼす。回路が正常に動作しない論理的誤動作や、各信号が所定時間内に動作しないタイミングエラーといった不具合が生じうる。従って、ＦＰＧＡの設計では、そのような内部電源電圧の等価的な変動を考慮する必要がある。
【００１７】
再び図１を参照すると、ＦＰＧＡ１００には電源１２０が接続されており、ＦＰＧＡ１００と電源１２０との間には複数のデカップリングコンデンサＣ１〜Ｃｎが実装されている。初期設計では、想定される最大数のデカップリングコンデンサが実装される（以降、このような実装形態を「フル実装」と呼ぶ。）。この数は、経験に基づいて決定されるものであり、例えばメーカ各社で社内規定等によって定められていることもある。ＦＰＧＡ１００は、電源１２０からの電源供給によって動作することができる。更に、ＦＰＧＡ１００には発振器１３０が接続されている。発振器１３０は、ＦＰＧＡ１００の動作に必要なクロック周波数を供給する。
【００１８】
ＦＰＧＡ１００が動作中に、コントローラ２０は、ＦＰＧＡ１００の電源電圧を変化させて、内部回路１０の最大動作周波数Ｆｍａｘを測定する。具体的に、コントローラ２０は、内部回路１０が所定の動作周波数で動作する場合に、電源電圧を変化させて、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路がスタックするところの電圧を記録する。この記録された電圧における最大動作周波数Ｆｍａｘは、内部回路１０の目下の動作周波数に相当する。次に、コントローラ２０は、内部回路１０の動作周波数を変更し、この変更された周波数について同様に電圧の記録を行う。これを繰り返すことにより、図３に示されるような関係が特定され得る。
【００１９】
図３は、内部回路１０の最大動作周波数の電源電圧依存性を表すグラフである。図３のグラフは、縦軸に最大動作周波数Ｆｍａｘをとり、横軸に電源電圧ＶＣＣをとる。例えば、図３のグラフでは、電源電圧ＶＣＣに比例して、最大動作周波数Ｆｍａｘは大きくなっている。ここで、電源電圧ＶＣＣがＦＰＧＡ１００の通常動作電圧Ｖｔｙｐに等しい場合の最大動作周波数Ｆｍａｘをｋとする。
【００２０】
次いで、電源電圧ＶＣＣを例えば通常動作電圧Ｖｔｙｐで一定とし、ＦＰＧＡ１００の動作中に、コントローラ２０は、デカップリングコンデンサの実装形態をフル実装から変化させて、内部回路１０の最大動作周波数Ｆｍａｘを測定する。具体的に、コントローラ２０は、内部回路１０が所定の動作周波数で動作する場合に、デカップリングコンデンサの実装形態を変化させて、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路がスタックするところの実装形態を記録する。この記録された実装形態における最大動作周波数Ｆｍａｘは、内部回路１０の目下の動作周波数に相当する。次に、コントローラ２０は、内部回路１０の動作周波数を変更し、この変更された周波数について同様に実装形態の記録を行う。これを繰り返すことにより、図４に示されるような関係が特定され得る。
【００２１】
図４は、デカップリングコンデンサの実装形態に対する内部回路１０の最大動作周波数の変化を表すグラフである。図４のグラフは、縦軸に最大動作周波数Ｆｍａｘをとり、横軸にデカップリングコンデンサの実装形態をとる。デカップリングコンデンサの実装形態は、実装されるコンデンサの個数、容量、及び／又は位置が変更されることで変化する。ここで、フル実装の場合の最大動作周波数Ｆｍａｘをｋとする。また、実装形態ａ、ｂ、ｃの夫々の場合の最大動作周波数Ｆｍａｘを夫々ｚ、ｙ、ｘ（ｋ＞ｘ＞ｙ＞ｚ）とする。
【００２２】
結果として、コントローラ２０は、図３に表されるような最大動作周波数Ｆｍａｘと電源電圧ＶＣＣとの間の関係、及び図４に表されるような最大動作周波数Ｆｍａｘとデカップリングコンデンサの実装形態との間の関係を得ることができる。コントローラ２０は、これらの関係に基づいて、デカップリングコンデンサの実装形態に対する内部電源電圧の等価的な変動量を算出することができる。この算出方法を、図５を参照して以下で説明する。
【００２３】
図５は、デカップリングコンデンサの実装形態に対する電源電圧変動の算出方法の説明図である。図５では、最大動作周波数Ｆｍａｘをとる縦軸の右側に、図３に表されるような内部回路１０の最大動作周波数の電源電圧依存性を表すグラフが描かれている。一方、縦軸の左側には、図４に表されるようなデカップリングコンデンサの実装形態に対する内部回路１０の最大動作周波数の変化を表すグラフが描かれている。ただし、縦軸の左側に描かれているグラフは、横軸にデカップリングコンデンサの実装形態をとるが、その矢印の向きは、図４のグラフとは逆方向である。
【００２４】
最初に、コントローラ２０は、図５の縦軸の左側に描かれたグラフを参照して、デカップリングコンデンサの実装形態に対応する最大動作周波数Ｆｍａｘを特定する。次に、図５の縦軸の右側に描かれたグラフを参照して、特定した最大動作周波数Ｆｍａｘに対応する電源電圧ＶＣＣを特定する。そして、通常動作電圧Ｖｔｙｐから特定した電源電圧ＶＣＣを減算して得られる差分ΔＶＣＣを算出する。コントローラ２０は、この等価的な変動量ΔＶＣＣが許容範囲内か否かを判定する。許容範囲とは、例えばＦＰＧＡ１００が正常に動作する可能性が高いと考えられる内部電源電圧の降下量である。よって、変動量ΔＶＣＣが許容範囲内か否かの判定は、ＦＰＧＡ１００が正常に動作するか否かを確認することに相当する。このことから、デカップリングコンデンサの実装形態は、変動量ΔＶＣＣが許容範囲内にあるよう決定される。
【００２５】
図６は、本発明の一実施例に従う測定制御部、すなわちコントローラ２０の機能ブロック図である。コントローラ２０は、電源電圧変更部２１０と、デカップリングコンデンサ実装形態変更部２１２と、内部回路駆動部２１４と、測定結果取得部２１６と、測定結果記憶部２１８と、電圧変動量算出部２２０と、判定部２２２とを有する。
【００２６】
電源電圧変更部２１０は、ＦＰＧＡ１００の電源電圧ＶＣＣを変更することができる。具体的に、電源電圧変更部２１０は、内部回路１０が所定の動作周波数で動作する場合に、電源電圧を変化させる。デカップリングコンデンサ実装形態変更部２１２は、電源１２０とＦＰＧＡ１００との間に実装されるデカップリングコンデンサの実装形態を変更することができる。具体的に、実装形態変更部２１２は、内部回路１０が所定の動作周波数で動作する場合に、コンデンサの個数、容量、及び／又は位置を変更することで、デカップリングコンデンサの実装形態を変化させる。
【００２７】
内部回路駆動部２１４は、ＦＰＧＡ１００内で未使用の回路及び配線を利用して構成された内部回路１０を駆動することができる。更に、内部回路駆動部２１４は、内部回路１０の出力を観測して、内部回路１０のいずれかのレジスタ回路がスタックしたかどうかを判断することができる。最大動作周波数Ｆｍａｘの測定において、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路がスタックする場合に、内部回路駆動部２１４は、その旨を通知する信号を測定結果取得部２１６に送信する。
【００２８】
内部回路駆動部２１４は、クロック信号供給部２３０を有し、ＦＰＧＡ１００が動作するために発振器１３０によって供給されるクロック周波数よりも高い周波数を有するクロック信号を内部回路１０へ供給する。最大動作周波数Ｆｍａｘの各測定の前に、駆動部２１４は、内部回路１０へ供給するクロック信号の位相を走査し、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路がスタックするところの位相を決定する。ＦＰＧＡ１００の動作クロックの立ち上がり及び立ち下がりにおいて電源電圧に擾乱が生ずることが知られており、内部回路１０のクロック信号の位相走査は、このようなＦＰＧＡ１００の最悪の動作状態の捕捉を確実にするために行われる。以降の最大動作周波数Ｆｍａｘの測定は、このようにして予め決定された位相において行われることとなる。
【００２９】
測定結果取得部２１６は、電圧記録部２４０及び実装形態記録部２４２を有し、駆動部２１４からの信号に応答して、内部回路１０のいずれかのレジスタ回路がスタックしたときの電源電圧及びデカップリングコンデンサの実装形態を記録することができる。測定結果取得部２１６で記録された電源電圧及びデカップリングコンデンサの実装形態は、そのときの内部回路１０の動作周波数と関連付けて、測定結果記憶部２１８に記憶される。よって、記憶部２１８には、図３に表されるような最大動作周波数Ｆｍａｘと電源電圧ＶＣＣとの間の関係、及び図４に表されるような最大動作周波数Ｆｍａｘとデカップリングコンデンサの実装形態との間の関係が記憶される。
【００３０】
電圧変動量算出部２２０は、測定結果記憶部２１８に記憶された情報に基づいて、図５で説明される算出方法により、デカップリングコンデンサの実装形態に対する内部電源電圧の等価的な変動量ΔＶＣＣを算出することができる。
【００３１】
判定部２２２は、電圧変動量算出部２２０の算出結果から、ＦＰＧＡ１００が正常に動作するところのデカップリングコンデンサの実装形態を決定することができる。更に、判定部２２２は出力装置（図示せず。）に接続され、その結果を出力部を介してユーザに通知することができる。
【００３２】
図７は、本発明の一実施例に従う内部回路１０の回路構成の例を表す。図７の内部回路１０は、カウンタ回路として構成されており、複数のレジスタ回路３０１、３０２、・・・、３０ｍを有する。最上段のレジスタ回路３０１を除く他のレジスタ回路は夫々、入力にＡＮＤ回路Ａ２、Ａ３、・・・、Ａｍの夫々を設けられている。各ＡＮＤ回路には、前段のレジスタ回路の出力と、コントロール入力Ｈ０１、Ｈ０２、・・・、Ｈｍの夫々とが入力される。最上段から２段目のレジスタ回路３０２のＡＮＤ回路Ａ２を除く他のＡＮＤ回路には、更に、前段のＡＮＤ回路の出力が入力される。内部回路のこのような構成は一般的であり、その動作についてここでは詳述しない。
【００３３】
動作中のＦＰＧＡ１００内で電源電圧の変動が生じた場合に、それにより最も低電位となっているエリアに実装されたレジスタ回路３０ｉがスタックされる。内部回路１０の出力はコントローラ２０に接続されており、コントローラ２０は、内部回路１０の出力を観測することで、ＦＰＧＡ１００内での電源電圧の変動により内部回路１０のいずれかのレジスタ回路３０ｉがスタックしたことを検出することができる。
【００３４】
以上説明してきた本発明の一実施例に従うシステムの動作は図８のように表される。図８は、本発明の一実施例に従う方法を表すフロー図である。この方法によれば、デカップリングコンデンサの実装形態に対応する半導体装置内での電源電圧の等価的な変動量を算出することができる。更に、この方法によれば、半導体装置の電源入力部に設けられるデカップリングコンデンサの実装形態を決定することができる。
【００３５】
最初に、ステップＳ１０１で、図３に表されるような内部回路１０最大動作周波数Ｆｍａｘと電源電圧ＶＣＣとの間の関係が特定される。次いで、ステップＳ１０２で、図４に表されるような内部回路１０の最大動作周波数Ｆｍａｘとデカップリングコンデンサの実装形態との間の関係が特定される。特定されたこれらの関係に基づいて、ステップＳ１０３で、図５で説明される算出方法を用いて、デカップリングコンデンサの実装形態に対する内部電源電圧の等価的な変動量ΔＶＣＣが算出される。ステップＳ１０４で、算出された等価的な変動量ΔＶＣＣが許容範囲内か否かが判定される。許容範囲内であれば、ステップＳ１０５で、ＦＰＧＡ１００は正常に動作すると判断される。一方、許容範囲内にない場合は、ステップＳ１０６で、ＦＰＧＡ１００は正常には動作しないと判断される。このようにして、ステップＳ１０７で、デカップリングコンデンサの実装形態は、変動量ΔＶＣＣが許容範囲内にあるよう決定される。
【００３６】
更に、ステップＳ１０１の第１の特定ステップ及びステップＳ１０２の第２の特定ステップの夫々について、図９及び図１０を参照して詳細に説明する。
【００３７】
図９は、ステップＳ１０１の第１の特定ステップの詳細なフロー図である。
【００３８】
最初に、ステップＳ２０１で、所定周波数である内部回路１０のクロック信号の位相が走査される。これにより、ＦＰＧＡ１００の動作状態が最悪であるところの位相が決定される。クロック信号の位相は、決定された位相に固定される。
【００３９】
ステップＳ２０２で、所定の動作周波数で動作中のＦＰＧＡ１００へ供給される電源電圧が変更される。この電圧変更は、ステップＳ２０３で内部回路１０のレジスタ回路のスタックが確認されるまで連続的に行われる。スタックが確認されると、ステップＳ２０４で、そのときの電源電圧が記録される。次いで、ステップＳ２０５で、記録された電源電圧は、このときの内部回路１０の動作周波数と関連付けて記憶される。
【００４０】
その後、ステップＳ２０６で、一連の処理ステップが行われるべき内部回路１０の全ての動作周波数について電源電圧が記録されたどうかが判断される。依然として全ての動作周波数について電源電圧が記録されていない場合には、ステップＳ２０７で、内部回路１０の動作周波数が他の所定の周波数へ変更される。そして、この変更された動作周波数について、ステップＳ２０１から一連の処理ステップが行われる。一方、全ての動作周波数について電源電圧が記録された場合には、第１の特定ステップは終了する。最終的に、図３に表されるような内部回路１０最大動作周波数Ｆｍａｘと電源電圧ＶＣＣとの間の関係が特定される。
【００４１】
図１０は、ステップＳ１０２の第２の特定ステップの詳細なフロー図である。
【００４２】
最初に、ステップＳ３０１で、所定周波数である内部回路１０のクロック信号の位相が走査される。これにより、ＦＰＧＡ１００の動作状態が最悪であるところの位相が決定される。クロック信号の位相は、決定された位相に固定される。
【００４３】
ステップＳ３０２で、ＦＰＧＡ１００が所定の動作周波数で動作中に、ＦＰＧＡ１００と電源１２０との間に実装されるデカップリングコンデンサの実装形態が変更される。この実装形態の変更は、ステップＳ３０３で内部回路１０のレジスタ回路のスタックが確認されるまで連続的に行われる。スタックが確認されると、ステップＳ３０４で、そのときのデカップリングコンデンサの実装形態が記録される。次いで、ステップＳ３０５で、記録された実装形態は、このときの内部回路１０の動作周波数と関連付けて記憶される。
【００４４】
その後、ステップＳ３０６で、一連の処理ステップが行われるべき内部回路１０の全ての動作周波数について実装形態が記録されたどうかが判断される。依然として全ての動作周波数について実装形態が記録されていない場合には、ステップＳ３０７で、内部回路１０の動作周波数が他の所定の周波数へ変更される。そして、この変更された動作周波数について、ステップＳ３０１から一連の処理ステップが行われる。一方、全ての動作周波数について電源電圧が記録された場合には、第２の特定ステップは終了する。最終的に、図４に表されるような内部回路１０の最大動作周波数Ｆｍａｘとデカップリングコンデンサの実装形態との間の関係が特定される。
【００４５】
なお、実際には、ＦＰＧＡ１００は、図１１に示すように、プリント回路基板（ＰＣＢ）２００に搭載されて用いられる。図１１で、ＰＣＢ１００は、複数のＦＰＧＡ１００１〜１００６を搭載されている。ＰＣＢ１００には、更に、ＦＰＧＡ１００１〜１００６の電源電圧ＶＣＣを生成する電源回路３００が構成される。電源回路３００で生成された電源電圧は、電源プレーン３１０を介してＦＰＧＡ１００１〜１００６の夫々へ供給される。更に、デカップリングコンデンサ３２０１〜３２０６は、ＦＰＧＡ１００１〜１００６の夫々の近くに、電源プレーン３１０と接地プレーンＧＮＤとの間に挿入される。図１１で、デカップリングコンデンサ３２０１〜３２０６は各１つずつしか示されないが、実際には、図１のように複数のコンデンサが並列に接続されている。
【００４６】
各ＦＰＧＡで生ずる等価的な電圧変動量ΔＶＣＣは、電源回路３００からＦＧＰＡまでの電源プレーン３１０上の距離が長いほど大きくなる。よって、図１１に示される例では、ＰＣＢ２００に実装されるＦＰＧＡ１００１〜１００６のうち、ＰＣＢ２００上で電源回路３００から最も遠いところに位置するＦＰＧＡ１００４で生ずる等価的な電圧変動量ΔＶＣＣが最も大きくなる。すなわち、このＦＰＧＡ１００４が、電源回路３００から最も近いところに位置するＦＰＧＡ３と同じものであるとしても、各自の適切なデカップリングコンデンサの実装形態は異なる。このことから、各ＦＰＧＡ内で生ずる電源電圧の等価的な変動量ΔＶＣＣは、ＰＣＢ上の配置を考慮して算出されることが望ましい。このため、ＰＣＢ上に搭載されたＦＰＧＡ１００１〜１００６の全てについて、図５で説明される算出方法を用いて等価的な電圧変動量が算出される。算出された結果を指標として、ＰＣＢの電源系統の評価が可能となる。
【００４７】
本発明の一実施例に従うシステム及び方法は、ハードウェアによって、又はＰＣＢシミュレーションのようなソフトウェアにおいて、又はハードウェア及びソフトウェアの組み合わせによって実現され得る。例えば、図４に表されるような内部回路１０の最大動作周波数Ｆｍａｘとデカップリングコンデンサの実装形態との間の関係を特定する第２の特定ステップＳ１０２を例とする。当該ステップは、予めＰＣＢシミュレーションで実装形態変更後のデカップリングコンデンサの効果の概略見積もりを行った後、実際の回路で実装形態を変更してその効果を確認しても良い。
【００４８】
以上より、本発明の一実施例によれば、高機能ＦＰＧＡのような、回路動作が膨大、複雑且つ任意である半導体装置に関して、デカップリングコンデンサの実装形態に対応する半導体装置内での電源電圧の等価的な変動量を算出することが可能となる。すなわち、デカップリングコンデンサの効果を定量的に検証することが可能となる。更に、本発明の一実施例によれば、適切なデカップリングコンデンサの実装形態を決定することが可能となる。これらは、不明であって半導体装置の回路動作が最大動作周波数Ｆｍａｘによって可視化されることによる。従って、半導体装置及びこれが搭載されたプリント回路基板の設計品質を適切なコストで向上させることができる。
【実施例２】
【００４９】
前出のシステム及び方法における最大動作周波数Ｆｍａｘの測定方法（すなわち、第１の特定ステップＳ１０１又は第２の特定ステップＳ１０２。）を応用することで、ＦＰＧＡ１００の特性評価を行うことができる。以下、これについて説明する。
【００５０】
本実施例に従う測定制御部、すなわちコントローラ２０は、発振器１３０から供給されるＦＰＧＡ１００の動作に必要なクロックの周波数（以降、「ＦＰＧＡ１００の動作周波数」と呼ぶ。）を変更するクロック周波数変更部（図示せず。）を更に有する。これにより、ＦＰＧＡ１００の動作周波数は、第１の特定ステップＳ１０１又は第２の特定ステップＳ１０２では所定の周波数で一定であったが、本実施例では変更することが可能となる。一方、ＦＰＧＡ１００の特性評価の際に、ＦＰＧＡ１００の電源電圧ＶＣＣは変更されず、例えばＶｔｙｐで一定である。また、同じく、デカップリングコンデンサの実装形態も変更されず、例えば「フル実装」である。更に、一般的にＦＰＧＡ１００内に所定の機能を実現するために任意に設計されるユーザ回路は、本実施例ではシフトレジスタで構成される。
【００５１】
このような場合において、ＦＰＧＡ１００の特性評価の方法を、図１２を参照して説明する。図１２は、ＦＰＧＡ１００の特性評価方法のフロー図である。
【００５２】
最初に、ステップＳ４０１で、所定周波数である内部回路１０のクロック信号の位相が走査される。これにより、ＦＰＧＡ１００の動作状態が最悪であるところの位相が決定される。クロック信号の位相は、決定された位相に固定される。
【００５３】
ステップＳ４０２で、発振器１３０からＦＰＧＡ１００へ供給されるクロック信号の周波数が変更される。この周波数変更は、ステップＳ４０３で内部回路１０のレジスタ回路のスタックが確認されるまで連続的に行われる。スタックが確認されると、ステップＳ４０４で、そのときのクロック信号の周波数が記録される。次いで、ステップＳ４０５で、記録されたクロック信号の周波数は、このときの内部回路１０の動作周波数と関連付けて記憶される。
【００５４】
その後、ステップＳ４０６で、一連の処理ステップが行われるべき内部回路１０の全ての動作周波数についてクロック信号の周波数が記録されたどうかが判断される。依然として全ての動作周波数についてクロック信号の周波数が記録されていない場合には、ステップＳ４０７で、内部回路１０の動作周波数が他の所定の周波数へ変更される。そして、この変更された動作周波数について、ステップＳ４０１から一連の処理ステップが行われる。一方、全ての動作周波数についてクロック信号の周波数が記録された場合には、特性評価方法のための処理フローは終了する。最終的に、図１３に示されるような関係が特定され得る。
【００５５】
図１３は、ＦＰＧＡ１００の動作周波数に対する内部回路１０の最大動作周波数の変化を表すグラフである。図１３のグラフは、縦軸に内部回路１０の最大動作周波数Ｆｍａｘをとり、横軸にＦＰＧＡ１００の動作周波数ｆｃｋをとる。例えば、図１３のグラフでは、内部回路１０の最大動作周波数Ｆｍａｘは、ＦＰＧＡ１００の動作周波数がある値ｆｒをとる場合に極小値をとる。内部回路１０の最大動作周波数Ｆｍａｘが極小値をとるところの周波数ｆｒはＦＰＧＡ１００の共振周波数である。このようにして、ＦＰＧＡ１００内の電源系統のインピーダンス特性を得ることができる。
【００５６】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
【００５７】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出方法であって、
前記コンピュータは、
前記配置データに対し、前記半導体装置内で生ずる電源電圧の変動を検知する内部回路を示すデータを、前記配置データ全域にわたって設置するステップと、
前記半導体装置へ前記電源入力部を介して入力される電源電圧と前記内部回路が動作可能な最大動作周波数との間に存在する第１の関係を特定する第１の特定ステップと、
前記内部回路を示すデータを配置した配置データと前記内部回路の最大動作周波数との間に存在する第２の関係を特定する第２の特定ステップと、
前記第１の関係及び前記第２の関係に基づいて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップと
を実行する電圧変動量算出方法。
（付記２）
前記第１の特定ステップは、
前記半導体装置へ前記電源入力部を介して供給される電源電圧を変化させる電圧変化ステップと、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記電源電圧を、前記内部回路の動作周波数に関連付けて記憶する電圧記憶ステップと、
前記内部回路の動作周波数を他の所定の周波数へ変更し、前記電圧変化ステップ及び前記第１の電圧記憶ステップを繰り返すステップと
を有する、付記１記載の電圧変動量算出方法。
（付記３）
前記第1の特定ステップは、前記電圧変化ステップの前に、前記内部回路の動作周波数を与えるクロック信号の位相を走査し、前記半導体装置の動作状態が最悪であるところの前記クロック信号の位相を決定するクロック位相走査ステップを更に有する、付記２記載の電圧変動量算出方法。
（付記４）
前記第２の特定ステップは、
前記デカップリングコンデンサの実装形態を変化させる実装形態変化ステップと、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記実施形態を、前記内部回路の動作周波数に関連付けて記憶する実施形態記憶ステップと、
前記内部回路の動作周波数を他の所定の周波数へ変更し、前記実装形態変化ステップ及び前記実施形態記憶ステップを繰り返すステップと
を有する、付記１乃至３のうちいずれか一項記載の電圧変動量算出方法。
（付記５）
前記第２の特定ステップは、前記実装形態変化ステップの前に、前記内部回路の動作周波数を与えるクロック信号の位相を走査し、前記半導体装置の動作状態が最悪であるところの前記クロック信号の位相を決定するクロック位相走査ステップを更に有する、付記４記載の電圧変動量算出方法。
（付記６）
対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態を決定するコンデンサ実装形態決定方法であって、
前記コンピュータは、
請求項１乃至５のうちいずれか一項記載の電圧変動量算出方法を用いて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップと、
前記等価的な変動量に基づいて、前記半導体装置が動作可能であるところのデカップリングコンデンサの実装形態を決定する決定ステップと
を実行するコンデンサ実装形態決定方法。
（付記７）
前記決定ステップは、前記等価的な変動量が許容範囲内にあるかどうかを判定する判定ステップを有する、付記６記載のコンデンサ実装形態決定方法。
（付記８）
前記許容範囲は、前記半導体装置が正常に動作する可能性が高いと考えられる該半導体装置内での電源電圧の降下量である、付記７記載のコンデンサ実装形態決定方法。
（付記９）
対象となる半導体装置内の部品の配置データにアクセスするコンピュータが、該配置データを参照して該データに対応するシミュレーション処理を実行することにより、前記半導体装置の電源入力部にデカップリングコンデンサを実装された前記半導体装置を搭載するプリント回路基板の電源系統を評価する電源系統評価方法であって、
前記コンピュータは、
前記プリント回路基板に搭載される全ての半導体装置について、付記１乃至５のうちいずれか一項記載の電圧変動量算出方法を用いて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する算出ステップと、
前記算出ステップで算出された前記等価的な変動量を、前記プリント回路基板の電源系統の評価指標とする評価ステップと
を実行する電源系統評価方法。
（付記１０）
半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出システムであって、
前記半導体装置内に該半導体装置全体にわたって設けられ、前記半導体装置内で生ずる電源電圧の変動を検知する内部回路と、
前記半導体装置へ前記電源入力部を介して入力される電源電圧と前記内部回路が動作可能な最大動作周波数との間に存在する第１の関係と、前記デカップリングコンデンサの実装形態と前記内部回路の最大動作周波数との間に存在する第２の関係とを記憶する記憶部と、
前記第１の関係及び前記第２の関係に基づいて、前記デカップリングコンデンサの実装形態に対応する前記半導体装置内での電源電圧の等価的な変動量を算出する電圧変動量算出部と
を有する電圧変動量算出システム。
（付記１１）
前記半導体装置へ前記電源入力部を介して供給される電源電圧を変化させる電圧変更部と、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記電源電圧を記録し、該電源電圧を前記内部回路の動作周波数に関連付けて前記記憶部へ格納する電圧記録部と
を有する、付記１０記載の電圧変動量算出システム。
（付記１２）
前記デカップリングコンデンサの実装形態を変化させる実装形態変更部と、
前記内部回路が前記半導体装置内で生ずる前記電源電圧の変動を検知するところの前記実施形態を記録し、該実施形態を前記内部回路の動作周波数に関連付けて前記記憶部へ格納する実施形態記録部と
を有する、付記１０又は１１記載の電圧変動量算出システム。
（付記１３）
前記内部回路は、複数のレジスタ回路を有するシフトレジスタ回路又はカウンタ回路として構成され、
前記内部回路は、前記半導体装置内で電源電圧の変動が発生した場合に、前記半導体装置内で最も低電位となっているエリアにあるレジスタ回路をスタックさせる、付記１０乃至１２のうちいずれか一項記載の電圧変動量算出システム。
（付記１４）
半導体装置の電源入力部に実装されるデカップリングコンデンサの実装形態を決定するコンデンサ実装形態決定システムであって、
付記１０乃至１３のうちいずれか一項記載の電圧変動量算出システムと、
前記等価的な変動量に基づいて、前記半導体装置が動作可能であるところのデカップリングコンデンサの実装形態を決定する判定部と
を有するコンデンサ実装形態決定システム。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施例に従うシステムを表す。
【図２】半導体装置内で発生する電源電圧の変動を説明するための図である。
【図３】内部回路の最大動作周波数の電源電圧依存性を表すグラフである。
【図４】デカップリングコンデンサの実装形態に対する内部回路の最大動作周波数の変化を表すグラフである。
【図５】デカップリングコンデンサの実装形態に対する電源電圧変動の算出方法の説明図である。
【図６】本発明の一実施例に従う測定制御部の機能ブロック図である。
【図７】本発明の一実施例に従う内部回路の回路構成を表す。
【図８】本発明の一実施例に従う方法を表すフロー図である。
【図９】図８の第１の特定ステップ（Ｓ１０１）の詳細なフロー図である。
【図１０】図８の第２の特定ステップ（Ｓ１０２）の詳細なフロー図である。
【図１１】本発明の一実施例に従う半導体装置の基板搭載状態を表す。
【図１２】本発明の一実施例に従う半導体装置の特性評価方法のフロー図である。
【図１３】半導体装置の動作周波数に対する内部回路の最大動作周波数の変化を表すグラフである。
【符号の説明】
【００５９】
１０    内部回路
１００  半導体装置（ＦＰＧＡ）
１２０  電源
１３０  発振器
２０    測定制御部（コントローラ）
２００  プリント回路基板
２１０  電源電圧変更部
２１２  コンデンサ実装形態変更部
２１８  測定結果記憶部
２２０  電圧変動量算出部
２２２  判定部
２３０  クロック信号供給部
２４０  電圧記録部
２４２  実装形態記録部
３０１〜３０ｍ  レジスタ回路
３２０１〜３２０６，Ｃ１〜Ｃｎ  デカップリングコンデンサ
Ｆｍａｘ  最大動作周波数
ＶＣＣ    電源電圧
ΔＶＣＣ  等価的な変動量
【図１】
2010135599.tif 000003
【図２】
2010135599.tif 000004
【図３】
2010135599.tif 000005
【図４】
2010135599.tif 000006
【図５】
2010135599.tif 000007
【図６】
2010135599.tif 000008
【図７】
2010135599.tif 000009
【図８】
2010135599.tif 000010
【図９】
2010135599.tif 000011
【図１０】
2010135599.tif 000012
【図１１】
2010135599.tif 000013
【図１２】
2010135599.tif 000014
【図１３】
2010135599.tif 000015