{'fraction_non_alphanumeric': 0.031714568880079286, 'fraction_numerical': 0.006937561942517344, 'mean_word_length': 5.516129032258065, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Testing "untestable" faults in three-state circuits

High-performance, complex CMOS designs such as microprocessors continue to gain performance by the use of "non-conventional" circuits such as tri-state, ratio or precharged logic. Such circuits are also used in noncomplementary or DC-redundant structures. While such design styles are not really new, their widespread use in very large, complex circuits (e.g., microprocessors) make "conventional" fault modeling and test generation ineffective. This paper describes test generation techniques to handle such circuits without affecting their performance or area. These techniques exploit circuit particularities of noncomplementary CMOS design in fault modeling, use automatic learning of useful relations about nodes in the design, and innovative test vector generation. On several designs ranging up to 2.5 million gates, the combined application of these methods increased test coverage from 50% to 100% while decreasing CPU time by orders of magnitude.