Ken Boese, Sun Cho, Andrew B. Kahng and Mike Oliver |
I. | Introduction | |
II. | Data Formats | |
III. | Publicly available instances, solutions and reference performance results | |
IV. | Executable Utilities (converters, generators, statistics browsers, evaluators, constraint verifiers) | |
V. | Optimizers and other non-trivial executables | |
VI. | Source codes | |
VII. | References |
This slot deals with techniques and applications for minimizing the total length of a scan chain. Some of the fundamental techniques are described in Scan Chain Optimization: Heuristic and Optimal Solutions by Boese, Kahng and Tsay (1994). For other relevant papers, see References.
The locations of the cells in the scan chain to be optimized, together with any partial-order constraints (i.e. requirements that a specified cell come before another specified cell) and specifications of which cells are permitted to be the input or output, are specified in the format described here.
Here compared are five instances. For each, a table is provided showing solution cost (the leftmost column) against
time in seconds (the second column). The right-hand column is a count of the "major loops", and may be taken as
a guide to the time/quality tradeoff inherent in the choice of a value for the "-ml" switch in UCLA_ScanOpt2.2 .
"Windows" is an AMD Athlon K7 800MHz running Windows NT 4.0 SP6a.
"Linux" is the same machine, running Linux RedHat 6.2. "Solaris" is a Sparc Ultra-10 300MHz running Solaris 7.
t500 has 520 total cells (500 "loose" plus 2 subgroups of 10 each) It can be generated with the command UCLA_ScanGen2.2 -lc 500 > t500 Windows Linux Solaris t1000 has 1020 total cells (1000 loose, 2 subgroups of 10 each) It can be generated with the command UCLA_ScanGen2.2 -lc 1000 > t1000 Windows Linux Solaris t5000 has 5020 total cells (5000 loose, 2 subgroups of 10 each) It can be generated with the command UCLA_ScanGen2.2 -lc 5000 > t5000 Windows Linux Solaris t10000 has 10020 total cells (10000 loose, 2 subgroups of 10 each) It can be generated with the command UCLA_ScanGen2.2 -lc 10000 > t10000 Windows Linux Solaris t10kg has 10000 total cells (500 loose, 95 subgroups of 100 each) It can be generated with the command UCLA_ScanGen2.2 -lc 500 -glc 100 -sg 95 > t10kg Windows Linux Solaris
ScanChain Instance Generator
UCLA_ScanGen2.2 [-sg SubGroups] [-po PartialOrderConstraints] [-gpo SubgroupPartialOrderConstraints] [-sigma Sigma] [-gsigma SubgroupSigma] [-offset Offset] [-eio] [-ssc | -sgg] [-unif] [-gunif] [-h]
UCLA_ScanOpt2.2 -rfile inputfile [-ml MajorLoops] [-des Descents] [-gdes SubgroupDescents] [-km KickMove] [-gkm SubgroupKickMove] [-nn NumNear] [-only2] [-gonly2] [-pfreq PrintFrequency] [-rs RandSeed] [-tfile TourOutFile] [-sfile StatsOutFile] [-xfile XgraphOutFile] [-h]
Tragoudas, S.; Denny, N. Testing for path delay faults using test points. 1999. CONF PAPER Hirech, M.; Beausang, J.; Xinli Gu. A new approach to scan chain reordering using... 1998. CONF PAPER Kobayashi, S.; Edahiro, M.; Kubo, M. Scan-chain optimization algorithms for... 1998. CONF PAPER Narayanan, S.; Das, A. An efficient scheme to diagnose scan chains. 1997. CONF PAPER Layout-driven chaining of scan flip-flops. IEE Proc., Comput. Digit. Tech. (UK), Nov. 1996, vol.143, (no.6):421-5. Roncken, M.; Aarts, E.; Verhaegh, W. Optimal scan for pipelined testing: an... 1996. CONF PAPER Reconfiguration techniques for a single scan chain. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. (USA), June... Kwang-Ting Cheng Partial scan designs without using a separate scan clock. 1995. CONF PAPER Narayanan, S.; Njinda, C.; Breuer, M. Optimal sequencing of scan registers. 1992. CONF PAPER -- NOT CURRENTLY AVAILABLE Corno, F.; Prinetto, P.; Sonza Reorda, M.; Violante, M. Exploiting symbolic techniques for partial scan flip... 1998. CONF PAPER Corno, F.; Prinetto, P.; Rebaudengo, M.; Sonza Reorda, M. Partial scan flip flop selection for... 1996. CONF PAPER Barbagallo, S.; Lobetti Bodoni, M.; Medina, D.; Corno, F.; and others. Scan insertion criteria for low design impact. 1996. CONF PAPER