Script作成時のヒント
Scriptは、プログラミング初心者の方でも、シンプルなコマンドとパラメータの組み合わせの記述により、所望の測定条件や手順が、容易に実現できるようにと準備されたインタプリタ型言語です。
その全てのコマンドは6文字で、機能が直感的に連想できる文字列となっています。(Operational Guide "スクリプトファイルの例"を参照)
また、自分で作成したScriptは、実行前に、”Script Check Mode” 機能により、タイポや、パラメータミス等の文法的なチェックが行いつつ、完成度を高めることができます。
ここでは、これまでユーザーから問い合わせを受けたり、Operational Guideの記述だけでは少し理解しづらく勘違いし易そうなコマンド機能について、より具体的に解説します。
REPEAT
REPEAT 繰り返し行数(Hex7桁) 繰り返し回数(Hex7桁)
繰り返し行数で指定したScript範囲を、繰り返し回数で指定した回数だけ実行します。
1. 繰り返し行数は、コメント行も対象となります
検証スクリプト
- VSET04 01 1234
- REPEAT 0000003 0000003
- 'Dummy-1
- PRTSTR 01 A $V04_01$
- PRTSTR 01 B
- PRTSTR 01 C
実行結果(Resultファイルの内容)
- a 1234 (Line3)
- b (Line3)
- a 1234 (Line3)
- b (Line3)
- a 1234 (Line3)
- b (Line3)
- c (Line7)
2. 2回以上の入れ子はできません
下記Script一行目のREPEATの中に、3行目、10行目でREPEATを使うのは問題ありませんが、4行目~7行目の間にもう一度REPEATを使うような場合は許容されません。
1 | REPEAT 000000C 000000A |
2 | BUSYTM 0 |
3 | REPEAT 0000004 0000032 |
4 | BKPROG 0 03DA INCRMT AAAAAAAA 00000000 |
5 | BKERAS 0 03DA |
6 | BKPROG 0 03DA INCRMT 55555555 00000000 |
7 | BKERAS 0 03DA |
8 | BUSYTM 1 |
9 | VSET04 00 0000 |
10 | REPEAT 0000002 0000040 |
11 | PGPROG 0 03DA $V04_00$ INCRMT 00000000 00000000 |
12 | VADD04 00 0001 |
13 | BKERAS 0 03DA |
FNSCRT
FNSCRT ファイル名
Script Fileを切り替えます。
Script Fileは、絶対パスあるいは解析ソフトウェアの実行ファイル(SigNAS3.exe)があるフォルダからの相対パスで指定します。
変数の値は、そのまま引き継がれます。
検証Script
TEST-1
- VSET04 0 0000
- PRTSTR 01 TEST-1
- REPEAT 0000002 0000002
- PRTSTR 01 $V04_0$
- VADD04 0 0001
- FNSCRT TEST-2.ssl
TEST-2
- PRTSTR 01 TEST-2
- REPEAT 0000002 0000002
- PRTSTR 01 $V04_0$
- VADD04 0 0001
- test-1 (Line2)
- 0000 (Line3)
- 0001 (Line3)
- test-2 (Line7)
- 0002 (Line8)
- 0003 (Line8)
実行結果(Resultファイルの内容)
Increment Pattern
下図のScriptでインクリメントパターンでページプログラム
実行後、読み取りデータのダンプ結果(下図)について不自然に思われるかもしれません。
- BKERAS 0 0000
- PGPROG 0 000 000 INCRMT 03020100 04040404
- PGREAD 0 0000 000
- PGDUMP 0 0800
4Byte単位のインクリメントを1Byte毎に表示しているため、
FF FE FD FC に 04 04 04 04 を足すため、バイトの繰上がりのため 04 03 02 00 となります。
SETBUF
ユーザーが下図のように予め作成した任意のパターンを、簡単にプログラミングすることができます。
SETBUF BUFFER.txt
PGPROG 0 0001 0010 BUFFER 0000
大量のPatternDataの作り方
SigNAS3 のPattern Settingの機能を使用して、作成することもできます。
Patten及び保存ファイルの形式を選択した後、Write to File をクリックして記録開始。
下図例ではBlockProgramなので、別途NANDSettingで設定されたサイズ(Page数)まで記録されて完了。
※ Pseudo Random PatternのSEEDは、0以外を設定して下さい。
0を設定した場合、Random Patternとはならず、オール0となります。
ファイルに保存したPatternデータは、下記Scriptのように、使用することができます。
SETBUF pattern.dat
BKPROG $V01_00$ $V04_00$ BUFATA
処理時間について
バッファを使用したデータ比較は、All0, increment, random 等と比べて処理時間が長くなります。
TSTAMP
Result Fileに保存される時間は、Script実行開始からの経過、表示は10進数、単位はミリ秒です
その他
1. Script実行中の途中経過モニタ
Log(RST file)などは、測定実行中に開いて、確認することは可能です。
また、実行中にAbortしても、それまでの実行結果は記録されています。
2. Script実行中の停止?
測定対象のNAND Flash Memory チップ自身の問題(例えば特定のBlockがEraseできない等)で、Scriptによる測定が停止しないようにするには、”Terminate with NAND Fail" のチェックを外して、機能を無効にして下さい。
3.実現可能な機能の自由度
基本的にScriptやGUIはAPIをベースに作られています。
実現可能な機能の自由度としては、API > Script > GUI となります。
例えばAPIなら、REPEATの入れ子数の制限も実質的にはありません。