
In previous chapters, we used transitive closure to speed up the energy minimization algorithms. Now we present a test generation algorithm entirely based on transitive closure. A test is obtained by determining signal values that satisfy a Boolean expression constructed from the circuit netlist and the fault. The algorithm is a sequence of two main steps that are repeatedly executed: transitive closure computation and decision-making. The transitive closure computation determines all logical consequences of any partial set of signal assignments. To compute the transitive closure of the circuit, we construct an implication graph whose vertices are labeled as the true and false states of all signals. A directed edge (x, y) in this graph represents the controlling influence of the true state of signal x on the true state of signal y. The signals x and y are connected through a wire or a gate in the circuit. Since the implication graph only includes pairwise (or binary) relations, it is a partial representation of the netlist. The transitive closure of the implication graph contains pairwise logical relationships among all signals. When signal relationships describing fault activation and path sensitization are included, transitive closure determines signal fixations and logical contradictions that directly identify many redundancies. Implication, unique path sensitization, static and dynamic learning, sensitization of physical and logical dominators and other techniques that are useful in determining necessary signal assignments are implicit in the process. If signals thus determined satisfy the Boolean formula, we have a test. Otherwise, we use the decision-making step, fix an unassigned signal, and update the transitive closure to determine all logical consequences of this decision. Since computation of transitive closure is as easily parallelizable as matrix multiplication, our algorithm is suitable for execution on a multiprocessor system.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
