JOURNALOF ELECTRONIC TESTING: Theoryand Applications9, 237-250 (1996) @ 1996 KluwerAcademicPublishers. Manufacturedin The Netherlands. Initialization Issues in Asynchronous Circuit Synthesis* SAVITA BANERJEE Bell Labs, Lucent Technologies, 1247 S. Cedar Crest Blvd., Allentown, PA 18103 RABINDRA K. ROY AND SRIMAT T. CHAKRADHAR C & C Research Laboratories, NEC USA, 4 Independence Way, Princeton, NJ 08540 Received September t, 1994; Revised May 21, 1996 Editor: S.D. Sherlekar Abstract. A design specification is said to be functionally uninitializable if an initializable implementation cannot be obtained. Due to the absence of any initialization sequence, a fault simulator or test generator that assumes an unknown starting state will be completely ineffective for uninitializable circuits. We present a novel procedure for synthesizing initializable asynchronous circuits from functionally uninitializable Signal Transition Graphs (STG). After characterizing the necessary conditions for functional uninitializability, we propose a technique that transforms the original STG into an equivalent, functionally initializable STG. We show that the presence of concurrency provides the designer with an extra degree of flexibility when implementing the circuit. It is shown that initializability can be achieved by sacrificing minimal concurrency and without violating the syntactic properties of the STG required for a hazard-free implementation. The synthesis of a trigger module illustrates this procedure. Keywords: asynchronous circuit synthesis, signal transition graph, initialization 1. Introduction Asynchronous circuits are gradually gaining accep- tance as a feasible alternative to synchronous cir- cuits in situations where clock-related problems, such as, clock skew and worst case execution time, can- not be tolerated. The recent success of asynchronous designers demonstrate their potential for achieving high performance and low power consumption [1-3]. However, poor testability remains the bottleneck to their widespread use in industrial applications. The academic community has witnessed significant advances in the automated design of asynchronous cir- cuits [4-6]. However, we experienced considerable difficulty in testing the circuits that were synthesized *Apreliminary versionwas presentedat the International Conference on ComputerDesign, October1994. by these methods. Surprisingly, some of the circuits could not be initialized by the automatic test pattern generator and therefore, no test sequences were gener- ated [7]. Initialization is the process of driving the state signals in the circuit to a known state irrespective of the power-up state of the circuit. This is the important first phase in the test generation of sequential circuits [8, 9]. All state signals in the circuit are initially assumed to be in an unknown state and the test generator derives a sequence of input vectors that will bring all state signals to a known state. If the synthesized implemen- tation cannot be initialized, then the test generator or other gate level analysis tools will be completely inef- fective. If a circuit is initializable by a logic simulator that uses the conventional 3-valued logic, (0, 1, X), it is said to be logically initializable. A design specifica- tion is functionally initializable if there exists at least one corresponding circuit implementation that can be