Computer-aided design of pseudoexhaustive test for data paths
Chauchin Su · 1991
Neither traditional testing nor structured design for testability have been adequate for meeting the challenge of testing very large scale integrated circuits. Due to the problems with these techniques, built-in self-test has emerged as a viable alternative for VLSI testing. The focus of this work is built-in self-test for data paths using a pseudoexhaustive approach. The specific objective is to investigate a tool to assist designers with the difficult tasks of circuit partitioning and pattern delivery for pseudoexhaustive test. Engineering expertise about the semiregularity of data paths serves as a foundation for this work. Such expertise includes knowledge about data path operation and hierarchical circuit structure. The relevant knowledge is applied to recognize circuit structure and to restructure the hierarchical description, if necessary, into one more suitable for the intended goal. This hierarchy is then evaluated on a local basis for the existence of adequate paths for pattern delivery. From these local paths, global pattern delivery paths can be developed and circuit partitioning can be accomplished by simple path tracing. Pattern delivery is considered in the context of three path types. A path sensitization algorithm, HPath, is developed to search for desired paths through hierarchical, multilevel descriptions. Within HPath, which is a control mechanism, are two search algorithms, GPath and FPath. GPath is an implicit enumeration algorithm which utilizes symbolic Boolean evaluation to achieve multiple path sensitization through gate-level circuits. FPath is a rule-based system for vector path sensitization through functional level data paths. The tool uses a frame-based system to structure knowledge for the algorithms and as an integration mechanism. It has two modes, automatic and designer-assisted. The designer-assisted mode allows designers to assist in difficult cases and also allows subtools such as FPath and GPath to be used for other testing purposes requiring hierarchical functional or gate-level multiple-path sensitization. The current tool handles combinational structures, but the extension to pipelined data paths is straightforward.