Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

How to use scan (in code?)

Status
Not open for further replies.

wisemonkey

Junior Member level 3
Joined
Apr 1, 2010
Messages
31
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
San Jose
Activity points
1,498
Hi everyone,
I've been reading about DFT (Scan in particular). The more I read about it, I keep finding ways to insert scan chain in design with the help of synthesis tools (which is good).
However I wanted to know if that is the only way or we can insert scan chain while writing a verilog code as well? I'm not sure how anyone would break ~200 bit register (assuming its in design) and make it sequential/serial.

All suggestions/opinions are appreciated

Thanks :)
 

lostinxlation

Advanced Member level 3
Joined
Aug 19, 2010
Messages
701
Helped
197
Reputation
394
Reaction score
184
Trophy points
1,323
Location
San Jose area
Activity points
5,051
You can do it manually if you choose to do so.
Till a little over 10 years ago, there was no decent DFT tool and we all did stitch the scan chains manually in the netlist.

You can also write a script in perl or any other languages to stitch the scan chain. I haven't done it for insernal scan, but made a script to stitch the boundary scan chain in perl. However, if you want to take care of any other things such as reset/clock bypassing, it would be challenging.
 

wisemonkey

Junior Member level 3
Joined
Apr 1, 2010
Messages
31
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
San Jose
Activity points
1,498
You can do it manually if you choose to do so.
Till a little over 10 years ago, there was no decent DFT tool and we all did stitch the scan chains manually in the netlist.

You can also write a script in perl or any other languages to stitch the scan chain. I haven't done it for insernal scan, but made a script to stitch the boundary scan chain in perl. However, if you want to take care of any other things such as reset/clock bypassing, it would be challenging.
ok so if I understand it properly:
write a perl code to
1. search for f/f in netlist (something like DFF2x etc.)
2. replace it with muxed f/f or mux and a f/f

and thanks for the suggestion :)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top