# A Review of Test Stimulus Compression Methods for Ultra-Large-Scale Integrated Circuits
## 3 Encoding-Based Test Stimulus Compression Methods  
In integrated circuit testing, the test data for the chip are pre-stored in the ATE. To reduce the storage space and test time of the ATE, it is common to employ encoding-based test data compression techniques. Encoding compression methods have been widely used as a key generic technology in various scenarios such as image processing, video special effects, and speech recognition. This method has also been maturely applied and developed in-depth in the field of test data compression [23; 24; 33; 34]. The working principle of encoding compression methods involves dividing the original test dataset into multiple symbols or strings, with each symbol or string being replaced by a code word. The length of the code word is typically shorter than that of the original symbol or string, resulting in a compressed data volume that is lower than the original test data volume. The compressed test data are then stored in the ATE. When the ATE outputs test data to the CUT, it requires the use of a decoder to restore the test data to its original form and input it into the scan chains within the CUT. This decoder typically requires a portion of the hardware resources on the CUT. Additionally, [PERSON] [35] compared the hardware overhead of six encodings including SC, Golomb, VIHC, FDR, SHC, and MICRO, taking the ISCAS'89 and ITC'99 benchmark circuits as test circuits with a single scan chain. Among them, SHC exhibited the highest hardware overhead, up to 20%, while the MICRO encoding had the lowest, less than 0.1%. If the decoder implementation is defective, it will incur significant hardware overhead, thereby increasing the power consumption of the chip during testing. According to the difference in data length before and after encoding, encoding compression methods can be subdivided into four categories: variable-length to variable-length, variable-length to fixed-length, fixed-length, fixed-length, and fixed-length to fixed-length. The differences among these four methods are shown in Table 3[24]. \begin{table}
\begin{tabular}{c c c c c c} \hline
**Test Stimulus Compression** & **Principle** & **Dominance** & **Limitation** & **Application Scenarios** & **Compressed Objects** \\ \hline \multirow{2}{*}{Encoding-Based} & Using test data to determine & No constraints are imposed & The compression efficiency is & Testing IP cores with & Original dataset or dataset \\  & compatibility and similarity & on AITG, making it applicable & relatively low when the vector & unknown structure & processed with enhanced \\  & between bits. & to any test set & to any test set. & do/or-learn bits. & information. & efficiency methods. \\ \hline \multirow{2}{*}{Scan Chain Structure} & Using irrelevant bits in the & Effectively utilizing the & Subject to the constraints of & Testing IP cores with & Test data output from \\  & measured data and populating & don’t-care bits in test & ATG, it requires solving the & known structure & the test interface. \\  & linear Decompression & the scan chain with a linear & vectors, with minimal hardware & relevant system of equations. & information. & \\  & decompression structure. & & case of implementation. & & \\ \hline \multirow{2}{*}{Scan Chain Structure} & Utilizing the correlation & capable of simultaneously & Subject to the constraints of & Testing IP cores with & Test data output from \\  & between bit-cycles, & measure multiple sub-circuits & ATG, the fault coverage is & known structure & the test interface. \\  & with headoad Scan & the same data are broadcasted & & limited. & \\  & to multiple sub-chains. & & & & \\ \hline \multirow{2}{*}{Enhancing Encoding} & Dividing the test set and & No constraints are imposed on & Requires co-utilization with & Testing IP cores with & Original dataset \\  & projecting it into a domain & ATG, making it applicable & encoding compression, as the & unknown structure & \\  & space to enhance encoding & to any test set. & & whom used independently. & \\ \hline \end{tabular}
\end{table}