Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[DFT] Modify SPF file for initializing the chip for test !!!

Status
Not open for further replies.

wjccentury

Junior Member level 2
Joined
Sep 12, 2005
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,484
Hello, all,
I have a question about initilaizing the chip for test. Normally, we should modify the SPF file's MacroDefs.
The background is:
1. RSTn signal is scan test reset
2. XXTI signal is a normal signal (not DFT signal)
3. Before test chip, the following operation should be done:
a. assert RSTn (1'b0)
b. insert 10MHz clock to XXTI and hold for 3 cycles
c. de-assert RSTn (1'b1)
d. insert 10MHz clock to XXTI and hold for 5 cycles

I modified the "test_setup" but I could not get what I want.

The following is my modification:
1. The _default_WFT_ is 10MHz
2. define XXTI as _default_WFT_ in "Timing"
3. In test_setup, add following:
V { "RSTn"=P; } // I can not force RSTn 1'b0 for 3 cycles because its off state is 1'b1
V { "XXTI"=P; }
V { "XXTI"=P; }
V { "XXTI"=P; }
V { "RSTn"=1; }
V { "XXTI"=P; }
V { "XXTI"=P; }
V { "XXTI"=P; }
V { "XXTI"=P; }
V { "XXTI"=P; }

Then I checked the waveform, the reset signal timing is not what I want. How can I solve this problem?
I hope you can help me!
Thank you very much !
 

Re: [DFT] Modify SPF file for initializing the chip for test

You can get your desired results by defining one more waveform table and then control the timing separately.


1. RSTn signal is scan test reset
Since this is an active low signal you cannot keep it to zero in any vector.

2. XXTI signal is a normal signal (not DFT signal)
Since we need to pulse this signal you will have to define it as a clock.


For this make a waveform for test_setup as

WaveformTable "_ts_WFT_" {
Period '500ns';
Waveforms {
"all_inputs" { 0 { '0ns' D; } }
"all_inputs" { 1 { '0ns' U; } }
"all_inputs" { Z { '0ns' Z; } }
"all_inputs" { N { '0ns' N; } }
"all_outputs" { X { '0ns' X; '40ns' X; } }
"all_outputs" { H { '0ns' X; '40ns' H; } }
"all_outputs" { T { '0ns' X; '40ns' T; } }
"all_outputs" { L { '0ns' X; '40ns' L; } }
"clk" { P { '0ns' D; '145ns' U; '155ns' D; '245ns' U; '255ns' D; '345ns' U; '355ns' D;} }
"res" { P { '0ns' U; '45ns' D; '455ns' U; } }
}
}

And then in your test_setup have the vector running on this waveform and the rest on the default WFT.

MacroDefs {
"test_setup" {
W "_ts_WFT_";
C {
"all_inputs" = \r6 N;
"all_outputs" = XX;
}
V { "clk"=P; "res"=P; }
W "_default_WFT_";
V { "clk" = P; "res" = 1;}
V { "clk" = P; "res" = 1;}
V { "clk" = P; "res" = 1;}
V { "clk" = P; "res" = 1;}
V { "clk" = P; "res" = 1;}
V { "clk" = 0; "res" = 1; }
}
}


You will be able to get your desired waveform.

-cheers
vlsi_eda_guy
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top