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.

Multiple scan clocks and strobe time

Status
Not open for further replies.

hsyoo125

Newbie level 3
Joined
Jul 8, 2011
Messages
3
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,356
Hi, I am trying to make a test protocol with DC.
This is the script.


set_scan_configuration -style multiplexed_flip_flop \
-chain_count 13 \
-clock_mixing mix_clocks \
-add_lockup true \
-internal_clocks multi \
-replace false \
-test_mode all

set_dft_drc_configuration -clock_gating_init_cycles 1
set_dft_drc_configuration -internal_pins enable

set_dft_insertion_configuration -preserve_design_name true
set_dft_insertion_configuration -synthesis_optimization none

set test_scan_enable_port_naming_style i_SCAN_EN%s

set_dft_signal -view existing_dft -type TestMode -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_tmode/Y]
set_dft_signal -view spec -type TestMode -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_tmode/Y]

set_dft_signal -view existing_dft -type ScanClock -port PA0[2] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk1/Y]
set_dft_signal -view existing_dft -type ScanClock -port PA0[1] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk2/Y]
set_dft_signal -view existing_dft -type ScanClock -port PA0[0] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk3/Y]

set_dft_signal -view existing_dft -type Reset -port PA1[14] -test_mode all -active 0 -hookup_pin [get_pins -h U_dont_scan_nrst/Y]

set_dft_signal -view existing_dft -type ScanEnable -port PA1[15] -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_se/Y]
set_dft_signal -view spec -type ScanEnable -port PA1[15] -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_se/Y]


set_dft_signal -view existing_dft -type Constant -port PnRESET -test_mode all -active 1
set_dft_signal -view existing_dft -type Constant -port PMODE -test_mode all -active 1



set_dft_signal -view existing_dft -type ScanDataIn -port PA0[3] -test_mode all -hookup_pin [get_pins -h pPA003/Y]
...

set_dft_signal -view spec -type ScanDataIn -port PA0[3] -test_mode all -hookup_pin [get_pins -h pPA003/Y]
...

set_dft_signal -view existing_dft -type ScanDataOut -port PA1[0] -test_mode all -hookup_pin [get_pins -h pPA100/A]
...

set_dft_signal -view spec -type ScanDataOut -port PA1[0] -test_mode all -hookup_pin [get_pins -h pPA100/A]
...


set_dft_signal -view existing_dft -type TestMode -port PA1[13] -test_mode all -hookup_pin [get_pins -h U_dont_scan_comp/Y]
set_dft_signal -view spec -type TestMode -port PA1[13] -test_mode all -hookup_pin [get_pins -h U_dont_scan_comp/Y]

define_test_mode Internal_scan -usage scan \
-encoding {PA1[13] 0}
define_test_mode ScanCompression_mode -usage scan_compression \
-encoding {PA1[13] 1}

set_dft_configuration -fix_bus disable \
-observe_points enable \
-control_points enable \
-scan_compression enable

set_scan_compression_configuration -integration true \
-xtolerance high \
-max_length 300
set_scan_compression_configuration -base_mode Internal_scan \
-test_mode ScanCompression_mode


current_test_mode Internal_scan

create_test_protocol


As you can see, three scan clocks are used.
(This is the first time for me to use multiple scan clocks.)
PAx ports are bidirectional ports.
The create_test_protocol generates this message.


Information: Generating Multi-clock protocol. The default value of '-capture_procedure' has changed to 'multi_clock'.
In mode: all_dft...

Information: Starting test protocol creation. (TEST-219)
...reading user specified clock signals...
Information: Identified system/test clock port PA0[2] (45.0,50.0). (TEST-265)
Information: Identified system/test clock port PA0[1] (45.0,50.0). (TEST-265)
Information: Identified system/test clock port PA0[0] (45.0,50.0). (TEST-265)
...reading user specified asynchronous signals...
Information: Identified active low asynchronous control port PA1[14]. (TEST-266)
Warning: The bidirectional port strobe for the mode is '40.000000'.
The bidirectional port strobe inferred from the waveform table '_default_WFT_' is -1.000000.
The bidirectional port strobe will be updated


After 'create_protocol' command, the 'dft_drc' command doesn't work.


Information: Starting test design rule checking. (TEST-222)
Loading test protocol
...basic checks...
...basic sequential cell checks...
...checking for scan equivalents...
...checking vector rules...
...checking pre-dft rules...
Error: Could not perform design rule checking. (TEST-1311)
0


I can't find any reason why DC can't perform dft_drc command.
I think it is related with the message "the bidirectional port strobe inferred from _default_WFT_ is -1.", but can't understand why the tool says like that.
Please help me. It is really serious for me...


Thank you, in advance.
 
Last edited:

Hi, I am trying to make a test protocol with DC.
This is the script.


set_scan_configuration -style multiplexed_flip_flop \
-chain_count 13 \
-clock_mixing mix_clocks \
-add_lockup true \
-internal_clocks multi \
-replace false \
-test_mode all

set_dft_drc_configuration -clock_gating_init_cycles 1
set_dft_drc_configuration -internal_pins enable

set_dft_insertion_configuration -preserve_design_name true
set_dft_insertion_configuration -synthesis_optimization none

set test_scan_enable_port_naming_style i_SCAN_EN%s

set_dft_signal -view existing_dft -type TestMode -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_tmode/Y]
set_dft_signal -view spec -type TestMode -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_tmode/Y]

set_dft_signal -view existing_dft -type ScanClock -port PA0[2] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk1/Y]
set_dft_signal -view existing_dft -type ScanClock -port PA0[1] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk2/Y]
set_dft_signal -view existing_dft -type ScanClock -port PA0[0] -test_mode all -timing {45 50} -hookup_pin [get_pins -h U_dont_scan_sclk3/Y]

set_dft_signal -view existing_dft -type Reset -port PA1[14] -test_mode all -active 0 -hookup_pin [get_pins -h U_dont_scan_nrst/Y]

set_dft_signal -view existing_dft -type ScanEnable -port PA1[15] -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_se/Y]
set_dft_signal -view spec -type ScanEnable -port PA1[15] -test_mode all -active 1 -hookup_pin [get_pins -h U_dont_scan_se/Y]


set_dft_signal -view existing_dft -type Constant -port PnRESET -test_mode all -active 1
set_dft_signal -view existing_dft -type Constant -port PMODE -test_mode all -active 1



set_dft_signal -view existing_dft -type ScanDataIn -port PA0[3] -test_mode all -hookup_pin [get_pins -h pPA003/Y]
...

set_dft_signal -view spec -type ScanDataIn -port PA0[3] -test_mode all -hookup_pin [get_pins -h pPA003/Y]
...

set_dft_signal -view existing_dft -type ScanDataOut -port PA1[0] -test_mode all -hookup_pin [get_pins -h pPA100/A]
...

set_dft_signal -view spec -type ScanDataOut -port PA1[0] -test_mode all -hookup_pin [get_pins -h pPA100/A]
...


set_dft_signal -view existing_dft -type TestMode -port PA1[13] -test_mode all -hookup_pin [get_pins -h U_dont_scan_comp/Y]
set_dft_signal -view spec -type TestMode -port PA1[13] -test_mode all -hookup_pin [get_pins -h U_dont_scan_comp/Y]

define_test_mode Internal_scan -usage scan \
-encoding {PA1[13] 0}
define_test_mode ScanCompression_mode -usage scan_compression \
-encoding {PA1[13] 1}

set_dft_configuration -fix_bus disable \
-observe_points enable \
-control_points enable \
-scan_compression enable

set_scan_compression_configuration -integration true \
-xtolerance high \
-max_length 300
set_scan_compression_configuration -base_mode Internal_scan \
-test_mode ScanCompression_mode


current_test_mode Internal_scan

create_test_protocol


As you can see, three scan clocks are used.
(This is the first time for me to use multiple scan clocks.)
PAx ports are bidirectional ports.
The create_test_protocol generates this message.


Information: Generating Multi-clock protocol. The default value of '-capture_procedure' has changed to 'multi_clock'.
In mode: all_dft...

Information: Starting test protocol creation. (TEST-219)
...reading user specified clock signals...
Information: Identified system/test clock port PA0[2] (45.0,50.0). (TEST-265)
Information: Identified system/test clock port PA0[1] (45.0,50.0). (TEST-265)
Information: Identified system/test clock port PA0[0] (45.0,50.0). (TEST-265)
...reading user specified asynchronous signals...
Information: Identified active low asynchronous control port PA1[14]. (TEST-266)
Warning: The bidirectional port strobe for the mode is '40.000000'.
The bidirectional port strobe inferred from the waveform table '_default_WFT_' is -1.000000.
The bidirectional port strobe will be updated


After 'create_protocol' command, the 'dft_drc' command doesn't work.


Information: Starting test design rule checking. (TEST-222)
Loading test protocol
...basic checks...
...basic sequential cell checks...
...checking for scan equivalents...
...checking vector rules...
...checking pre-dft rules...
Error: Could not perform design rule checking. (TEST-1311)
0


I can't find any reason why DC can't perform dft_drc command.
I think it is related with the message "the bidirectional port strobe inferred from _default_WFT_ is -1.", but can't understand why the tool says like that.
Please help me. It is really serious for me...


Thank you, in advance.


Hi even i got the same warning.. Did you get the solution for the same.. If so please tell me how to resolve it..
Thanku...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top