はじめに
測定対象デバイスの最高動作周波数を評価する場合、通常はShmoo Plot ToolもしくはShmoo Algorithmを使用します。しかしこれらのツールでは値を判定することができません。 Generic Search IPを使用することで、最高動作周波数を測定、判定することができます。
本書では、Generic Search IPを利用して測定対象の最高動作周波数の測定及び判定を行う方法を解説します。
題材
以下の動作をする測定対象の最高動作周波数を測定します。
必要なIP
ICの持つ論理機能が正常に動作することを確認します。入力ピンにパターンを印加し、出力が期待値パターンと一致することを確認します。
測定項目を指定し、その測定項目で使用している変数の値を変化させる事により、指定した測定項目のPass/Fail変化点を検索します。Pass/Fail変化点に対してリミット値を設定し、良否判定します。
測定手順
1. テストアイテムを作成する
Functional Testing IPで最高動作周波数の測定対象となるテストアイテムを作成します。
作成したテストアイテム(パターン)が正常に動作(PASS)するかを確認します。
以下の例は作成したテストアイテムの[Signal]タブの画面です。
2. 変数を宣言する
Generic Search IPで変化させる変数を宣言します。
以下の例では変数[TestRate]を宣言し、初期値を1usに設定しています。
3. 全てのタイミング値を変数に追従させる
最高動作周波数を測定する場合、対象となるテストアイテムのタイミング値全てを変数に追従させる必要があります。
以下の図の様に1で作成したテストアイテムの各タイミング値を“TestRate∗0.5”というような変数[TestRate]を含めた演算式で設定します。
4. 変数を変化させて変化点を検索し判定する
Generic Search IPは変化させる変数と対象とするテストアイテムを指定して、対象とするテストアイテムのPASS/FAIL変化点を検索します。
以下のように設定します。
本例では、変数[TestRate]を1usから300nsまで100ns刻みで変化させています。3で全てのタイミング値を変数[TestRate]を含めた演算式で設定しているので、下表のように対象とするテストアイテムの全てのタイミングが変数に追従して変化します。
[TestRate] | Period ([TestRate]) | CLKピンの<A> ([TestRate]∗0.0) | CLKピンの<B> ([TestRate]∗0.5) | CSピンの<A> ([TestRate]∗0.75) | DATAピンの<LHZ> ([TestRate]∗0.9) |
---|---|---|---|---|---|
1us | 1us | 0s | 500ns | 750ns | 900ns |
900ns | 900ns | 0s | 450ns | 675ns | 810ns |
800ns | 800ns | 0s | 400ns | 600ns | 720ns |
700ns | 700ns | 0s | 350ns | 525ns | 630ns |
600ns | 600ns | 0s | 300ns | 450ns | 540ns |
500ns | 500ns | 0s | 250ns | 375ns | 450ns |
400ns | 400ns | 0s | 200ns | 300ns | 360ns |
300ns | 300ns | 0s | 150ns | 225ns | 270ns |
このようなタイミング変化によって測定対象デバイスのPASS/FAILの変化点を探します。この方法により得られた変化点を測定対象デバイスの最高動作周波数とします。
最高動作周波数は、リミットにより判定されます。
実行結果は以下のように表示されます。
応用例
以下の図の様に“[TestRateofTS2]=[TestRate]∗1.5”と宣言すると、Generic Search IPによる[TestRate]の変化に対して[TestRateofTS2]も追従して変化させることができます。
注意事項
-
タイミングセットが複数あるパターンに対して本手法を適用する場合、他のタイミングセットの設定値も1つの変数(本例では変数[TestRate])、もしくは変数による演算式で設定する必要があります。
-
Generic Searc IPは変数を変化させることによって、対象とするテストアイテムのPASS/FAIL変化点を検索します。その為、対象とするテストアイテムの結果(PASS or FAIL)が変数の変化によって変化しない場合、「変化点を見つけられなかった」としてエラーとなります。