hiral.kotak said:HI,
These are the line, I got in the protocol file generated by DFT compiler. Can anyone explain the significant of W,V, C ...etc and regarding the syntax and value.
"load_unload" {
W "BROADSIDE_TIMING" ;
V {CLOCK=0; RESETB=1; SCAN_ENABLE=1; BIDI_DISABLE=1;
bidi_ports = \r16 Z;}
V {}
V { bidi_ports = \r4 1010 ; }
Shift {
W "SHIFT_TIMING" ;
V { _si=####; _so=####; CLOCK=P;}
}
W "BROADSIDE_TIMING" ;
V { CLOCK=0; RESETB=1; SCAN_ENABLE=0;}
} // end load_unload
} //end procedures
Thanks..
HAK..
hiral.kotak said:HI Santhosh,
Thanks for the reply.
Can u pls explain me the lines mentioned below:
"load_unload" {
-- This default timeplate is used during load_unload
W "_default_WFT_";
--- first cyle with costrained values on all inputs. Here N means the specific input pins are intialized to X. in STIL N for X.
C {
"all_inputs" = 0 \r568 N 0 \r563 N;
"all_outputs" = \r1417 X;
}
-- next vector cycle starts.
"Internal_scan_pre_shift" : V {
"_clk" = 00;
--- _Si input values are constrained to X.
"_si" = N;
-- _SO output values are measured and the results are masked.
In STIL X means masking the output pins after perfoming measure.
"_so" = X;
"se" = 1;
}
--- next shift cycles starts
Shift {
V {
"_clk" = P0;
--- _si inputs are set from the next available stimulus data.
"_si" = #;
-- _so outputs are measured from the next available expected data. here Number # indicates no of scan chains in the design.
"_so" = #;
}
}
}
What is the meaning of #, I read in one of the documents that it is a formal argument but didn't get any detail information.
Pls reply me as soon as possible.
Thanks..
HAK..
nabilos said:HELLO ALL
These are the line, I got in the protocol file generated by DFT compiler.
it has a condition statement in each of the procedures (load_unload, capture, capture_CLK, capture_RST) followed by a vector statement (which does a force_pi, measure_po). In the pattern block, each pattern calls for the
load_unload procedure and then for one of the capture procedures. Can anyone explain me the significant of the syntax " Capture"{ , "Capture_CLk"{
Procedures {
"load_unload" {
W "_default_WFT_";
C { "calib_ok"=X; "test_si3"=0; "test_si2"=0; "test_si1"=0; "test_so1"=X; "DATA[3]"=X; }
V { "Clk"=0; "test_se"=1; "_so"=###; }
Shift { W "_default_WFT_";
V { "Clk"=P; "test_se"=1; "_so"=###; "_si"=###; }
}
}
"capture" {
W "_default_WFT_";
C { "DATA[1]"=X; "DATA[7]"=X; "calib_start"=0; "calib_ok"=X; "DATA[0]"=X; "DATA[6]"=X; "Rst"=0;
"DATA[5]"=X; "Clk"=0; "test_si3"=0; "test_si2"=0; "test_si1"=0; "test_se"=0; "DATA[4]"=X;
"test_so1"=X; "DATA[3]"=X; "DATA[2]"=X; "niv_compar"=0; }
V { "_pi"=\r8 # ; "_po"=\r10 # ; }
}
"capture_Clk" {
W "_default_WFT_";
C { "DATA[1]"=X; "DATA[7]"=X; "calib_start"=0; "calib_ok"=X; "DATA[0]"=X; "DATA[6]"=X; "Rst"=0;
"DATA[5]"=X; "Clk"=0; "test_si3"=0; "test_si2"=0; "test_si1"=0; "test_se"=0; "DATA[4]"=X;
"test_so1"=X; "DATA[3]"=X; "DATA[2]"=X; "niv_compar"=0; }
"forcePI": V { "_pi"=\r8 # ; }
"measurePO": V { "_po"=\r10 # ; }
C { "_po"=\r10 X ; }
"pulse": V { "Clk"=P; }
}
}
MacroDefs {
"test_setup" {
W "_default_WFT_";
V { "Clk"=0; }
V { "Clk"=0; }
}
}
Pattern "__pattern__" {
W "_default_WFT_";
"precondition all Signals": C { "_pi"=\r8 0 ; "_po"=\r10 X ; }
Macro "test_setup";
"pattern 0": Call "load_unload" {
"test_si1"=00110; "test_si2"=00110; "test_si3"=00110; }
Call "capture" {
"_pi"=01011001; "_po"=HHLLLHHLLL; }
"pattern 1": Call "load_unload" {
"test_so1"=LLHHL; "DATA[3]"=LLHHL; "calib_ok"=LLHHL; "test_si1"=11011; "test_si2"=00000;
"test_si3"=10001; }
Call "capture_Clk" {
"_pi"=01110000; "_po"=LLLLHLLLHH; }
"pattern 2": Call "load_unload" {
"test_so1"=HHLHH; "DATA[3]"=LLLLL; "calib_ok"=LLLLL; "test_si1"=11100; "test_si2"=01011;
"test_si3"=01100; }
Call "capture_Clk" {
"_pi"=00100101; "_po"=HLHLLLHHLH; }
"pattern 3": Call "load_unload" {
"test_so1"=HHHLL; "DATA[3]"=LLLLH; "calib_ok"=LLLLL; "test_si1"=00101; "test_si2"=10001;
"test_si3"=11011; }
Call "capture_Clk" {
"_pi"=01000111; "_po"=LLLHHHLHHL; }
i have 37 patterns in my STIL FILE (you can see all the patterns in (file attachment)
and also why in the following syntax
"capture" {
W "_default_WFT_";
C { "DATA[1]"=X; "DATA[7]"=X; "calib_start"=0; "calib_ok"=X; "DATA[0]"=X; "DATA[6]"=X; "Rst"=0;
"DATA[5]"=X; "Clk"=0; "test_si3"=0; "test_si2"=0; "test_si1"=0; "test_se"=0; "DATA[4]"=X;
"test_so1"=X; "DATA[3]"=X; "DATA[2]"=X; "niv_compar"=0; }
I DON't understand why -> "CLK=0" and what is C,W,X in this case?????
Here W -- Wavefrom table equivalent to timeplate
C -- Conditional stimulus
X-- dont care. the values of the listed pins are dont care
The same case in the synthax "capture_Clk" {
CLK=0 but after clk=P ????
"capture_Clk" {
W "_default_WFT_";
C { "DATA[1]"=X; "DATA[7]"=X; "calib_start"=0; "calib_ok"=X; "DATA[0]"=X; "DATA[6]"=X; "Rst"=0;
"DATA[5]"=X; "Clk"=0; "test_si3"=0; "test_si2"=0; "test_si1"=0; "test_se"=0; "DATA[4]"=X;
"test_so1"=X; "DATA[3]"=X; "DATA[2]"=X; "niv_compar"=0; }
"forcePI": V { "_pi"=\r8 # ; }
"measurePO": V { "_po"=\r10 # ; }
C { "_po"=\r10 X ; }
"pulse": V { "Clk"=P; }
Here Clk is pulsed to capture the value. basically a Capture clock pulse
Finaly in the Timing synthax i didn't understand what is T ??????
Timing {
WaveformTable "_default_WFT_" {
Period '100ns';
Waveforms {
"all_inputs" { 0 { '5ns' D; } }
"all_inputs" { 1 { '5ns' U; } }
"all_inputs" { Z { '5ns' Z; } }
"all_inputs" { N { '5ns' N; } }
"all_outputs" { X { '0ns' X; } }
"all_outputs" { H { '0ns' X; '95ns' H; } }
"all_outputs" { L { '0ns' X; '95ns' L; } }
"all_outputs" { T { '0ns' X; '95ns' T; } }
"Clk" { P { '0ns' D; '45ns' U; '55ns' D; } }
}
I would greatly appreciate your help regarding this,
Thanks
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?