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 bottom-up question help!

Status
Not open for further replies.

simplescalar

Newbie level 4
Joined
Apr 11, 2008
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,327
how to decide number of scain chains in a design

hi :

i am a new fish of DFT
now i have a question about DFT with " bottom-up "

struct of my design :

|Top
|------module A
|------module B

module B get the "clk" from Top
and divided the "clk" to generate "clk_1" "clk_2" and "clk_3"
while module A receive the clk_1 clk_2 clk_3

i want to DFT with "bottom-up"

and I have completed the scan chain insert of module A with
scan-clock : clk_1 clk_2 clk_3
scan-datain : dina_1 dina_2 dina_3
scan-dataout : douta_1 douta_2 douta_3

then how to do with the top module ??

i dont know~~~~

thanks
 

Hi,

You have not mentioned the tool that you are using for the dft insertion.
My reply below is for the DFT compiler.

For both modA and modB
1. Do the scan insertion .
2. Write out the test_model , design in verilog and ddc.

At the top.

1. Read the top level module
2. Read the submodule's testmodels
3. link and see that you dont get any errors
4. Start doing normal scan insertion.

The tool will see that the testmodel of the submodules is availabe , it is going to use it and use the scan chains in it as segments to do top level scan insertion.

You can also do every thing in one go i.e read the complete design.
set the current_design to modA do the scan insertion set the current design to modB do the scan insertion set the current_design to top and do the scan insertion.
Only drawback here is that the tool may again disturb the bottom level scan architecture to get a more balanced scan architecture at the top level. ( which you may not prefer).

-cheers
vlsi_eda_guy
 

thank u very much !!

:D i used DFT compiler, thank u again~~~~~

now maybe i need more help


for module A, i use the scripts to insert scan chain :
set_dft_signal -view spec -type ScanDataIn -port [list ma_din[1] ma_din[2] ]
set_dft_signal -view spec -type ScanDataOut -port [list ma_dout[1] ma_dout[2] ]

and generated :
scain chain 1 ma_din[1] -> ma_dout[1]
scain chain 2 ma_din[2] -> ma_dout[2]

for module B ,
set_dft_signal -view spec -type ScanDataIn -port [list mb_din[1] mb_din[2] ]
set_dft_signal -view spec -type ScanDataOut -port [list mb_dout[1] mb_dout[2] ]
and generated :
scain chain 1 mb_din[1] -> mb_dout[1]
scain chain 2 mb_din[2] -> mb_dout[2]

now i have top module with
data input top_din[1] top_din[2] top_din[3] top_din[4]
& data output top_dout[1] top_dout[2] top_dout[3] top_dout[4]

while there has module C inside top-level
and ma_din & mb_din are generated by module C

that is top_din[1] -> Module C -> ma_din[1]
top_din[2] -> module C -> ma_din[2]
top_din[3] -> module C -> mb_din[1]
top_din[4] -> module C -> mb_din[2]

how can i insert scan chain used the original chain inserted by moduleA and moduleB
that is :
top_chain1 top_din[1] ->top_dout[1] use the chain_1 of moduleA
top_chain2 top_din[2] ->top_dout[2] use the chain_2 of moduleA
top_chain3 top_din[3] ->top_dout[3] use the chain_1 of moduleB
top_chain4 top_din[4] ->top_dout[4] use the chain_4 of moduleA

could anyone give me the scripts?
i try some but not work.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top