【CMA3380P】- SPM_PATTERN

SPM_PATTERN這個陳述式,是用來定義有使用到SPM的 test pattern,其語法、使用方法。

SPM: Sequential Pattern Memory

格  式

SPM_PATTERN ( module_name [, NORM | DBL | DBL_2X, [ NORM_SET |K_SET | Z_SET ] ])

{

   Label :: * pattern_data * [ts_name, micro_ins ] ;

   Label :  * pattern_data * [ts_name, micro_ins ] ;

               * pattern_data # ape_field * [ts_name, micro_ins ] ;

}

 

 ape_field

◆ AWI pattern區域。

◆ NOP,Exx or Pxx, xx:1~31

Pxx:Pattern trigger, waveform_set/memory_set :xx

◆ Exx:External trigger, waveform_set/memory_set :xx

 

 module_name

◆ 即pattern的名稱。

◆ 此名稱在程式中無法使用,但可在debug工具中使用。如Pattern Editor Tool.

◆ 資料型態:字串。最大32個字元。

◆ 必填項目。

NORM / DBL / DBL_2X : no-entry --> NORM

DBL_2X pattern setting has K_SET / Z_SET: no-entry --> NORM_SET DBL limitation : only even cycle can use micro-instruction , and moudle pattern start from even address DBL_2X: only 4*I th(i=0,1,2,3….) cycle can use micro-instruction

 

 Label

◆ 用以定位想要已定義的Pattern module。

◆ 在名稱之後加上「冒號」、「:」即可

◆ 若想定義一個全域的label,則在名稱上加「:」即可。此全域label則可在其它Pattern和Test program 中使用。

◆ 資料型態:字串。

◆ 最大16個字元。

 

 Pattern_data

◆ Pattern vector中的資訊是由一組已事先定義好的字符所支援。

 

Pattern字符清單

 

Symbol Meaning
0  Drive on and low
1  Drive on and high
L  Drive off and compare for a low
H  Drive off and compare for a high
X  Drive off and don’t care comparator
2  Drive VHH in MXLPC board (HVIN pin type) Release
version : CRAFT_3380_2.00
U  Drive low and compare low (underside)
S  Drive high and compare low (sink)
R  Drive low and compare high (rise)
T  Drive high and compare high (top)
V  Drive off and compare for valid state (V)
Z  Drive off and compare for tri-state (Z)
K Drive trigger for statement "SET_CAPTURE_MEM_MODE"

 

十六進制格式的前導符號

Symbol Meaning
c  Compare data (L=0, H=1)
d  Drive data (0=0, 1=1)
z  Tri state (V=0, Z=1)
x  Tri state (V=0, Z=1)
t  (U=0, T=1)
s  (R=0, S=1)

 

 

範  例

SET_DEC_FILE "./3360_ls299_pin.dec" 
HEADER CTRL1, %CLK, %QQ, %OAH; 

SPM_PATTERN(func_pat) {


sfr_st: 
   *
dA0 1 X1 c80 c8*TS1; // shift H signal start
   *
dA0 1 X1 cC0 cc8*;
   *
dA0 1 X1 cE0 c8*;
   *
dA0 1 X1 cF0 c8*;
   *
dA0 1 X1 cF8 c8*;
   *
dA0 1 X1 cFC c8*;
   *
dA0 1 X1 cFE c8*;
   *
dA0 1 X1 cFF c8*;
 }

 

 

 ts_name

◆ Timing set的範圍從1~15。

◆ 所以可以使用TS1~TS15。

◆ 亦可使用定義在「TIME_NAME_DEF」中的名稱。

 

 micro_instruction

◆ 微指令是由微控制器所控制,用同時執行vector和timing set指標。

 

Micro-instruction

 

Micro-instruction Description
NOP No operation
RPT Repeat count: repeat the same address. RPT times 2 <= N
<= 16777215 (24bit register)
STOP Stop pattern execution.
SETM Match count: set match count to index match register,
match_count : 30 <= N <= 1677215 (24bit register)
IMATCH Immediately match and this instruction executes a single vector
match. It will repeat the vector until a match occurs or the count
specified in the data field of the SETM micro-instruction is
decremented to zero.
DPS High-speed pattern trigger to measure DPS simultaneously
DPSMST Start marker for recording the maximum value.
PREF High-speed pattern trigger to measure PREF simultaneously
SET Xi count_value, i = 0~3: count_value : 2 <= N <= 16777215
(24bit register) .Need to be used with "JNZi"
JNZi label , i = 0~3:
JMP label Unconditional jump
JCONT label Continuous loop jmp, execute the "PAT_CONTINUE()"
statement in the test plan program.
SETS count_value: Set Subroutine Counter (24 bits counter)
JSR label Subroutine call
RET label Returning from the subroutine to the label 
TFTM Trigger of Freq. And Time Measurement
UISUYNC Send trigger signal to test head from u-instruction.
LDXN LDXN Xi+Xj : I, j = 0~7 : Load Xi index counter value from index
holding register
(X0~X7, setup by test plan )
PRPTN RPTN Xi: i = 0~7: repeat count define by index holding
register(X0 ~ X7, setup by test plan )

 

 

SPM_PATTERN ( func_pat , NORM , K_SET | Z_SET ) -> compiler error

SPM_PATTERN ( func_pat , DBL , K_SET | Z_SET ) -> compiler error

SPM_PATTERN ( func_pat , DBL_2X , K_SET | Z_SET ) -> compiler correct

 


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 News123 的頭像
    News123

    隨手記錄

    News123 發表在 痞客邦 留言(0) 人氣()