This paper introduces a new method which, given an arbitrary Boolean function and specified set of (function hazard-free) input transitions, determines if any hazard free multilevel logic implementation exists. The algorithm is based on iterative decomposition, using disjunction and inversion. Earlier approaches by Nowick and Dill (1995) and Theobald and Nowick (1998) have been proposed to determine if a hazard free two-level logic implementation exists. However, it is well-known that the effects of multi-level transformations are quite complex: since they can both decrease and increase logic hazards in a given circuit. In this paper, a method is proposed to solve the hazard free multi-level existence problem. The method is proven to be both sound and complete for a large class of multi-level implementations. A novel contribution is to show that, if any hazard free multi-level solution exists, then a hazard free solution always exists using only 3 logic levels, in a 3-level NAND or OR-AND-OR structure. Moreover, in this case, it is shown there always exists a unique canonical hazard free 3-level implementation.
Published in:
Asynchronous Circuits and Systems, 2003. Proceedings. Ninth International Symposium on
Date of Conference: 12-15 May 2003