Higher complexity, higher risk
The reality of DFT for large and complex SoCs has introduced new risk into design schedules. DFT teams end up in the critical path to tape out while waiting for portions of the design to be complete, and there are more DFT integration steps than ever before. The traditional approaches to DFT work on huge designs pose problems of repeatability and reliability. With more DFT steps, the overall rate of success declines unless the rate of success at each step is extremely high. So, how do you ensure an extremely high rate of success at each step in the DFT flow? By adopting a smarter DFT methodology.
The best and most widely adopted DFT methodologies involve hierarchical plug-and-play structural approaches. These approaches take very big complex logic and functionality and divide them into dramatically simpler parts that can be managed and tested with automation. This hierarchical DFT removes the effort of pattern generation on the full design and enables concurrent test insertion on multiple blocks. Test patterns generated for a block do not need to be regenerated during chip-level pattern generation; they can be directly reused or “retargeted.” This ability to retarget block-level patterns through multiple levels of hierarchy is itself a good enough reason for many designs to use hierarchical flows. After all, when the patterns do not need to be regenerated, you save not just time and resources, but you also improve reliability, which in turn increases success.
Automation of DFT
In addition to a plug-and-play DFT methodology, further automating as many DFT steps as possible also reduces risk and improves the efficiency and reliability of the entire design flow. Look for DFT tools that share a common tool environment and database.
Memory and logic BIST scannability
Boundary scan logic reuse
Pattern retargeting automation
IJTAG setup porting
Customization of DFT
Customization in your DFT flow is important. Particularly with hierarchical DFT flows, there are usually design-specific tasks that need to be customized across the blocks. The DFT tools need to have a scripting environment that makes these batch operations easy and reliable.