June 18, 2006
June 18, 2006
June 21, 2006
Computers in Education
11.258.1 - 11.258.8
Asynchronous Finite State Machine Design: A Lost Art? Abstract
As taught in most introductory digital circuit classes, design of sequential digital circuits is limited to a very strict set of restrictions, usually called “synchronous” finite state machine design. In synchronous design, there is one special signal called the “clock” which controls the timing of all state transitions, and all clock inputs on all sequential components in the digital system (flip-flops or other more complex components) must connect directly to that one clock signal in the system, without exception. Furthermore, all variables in the system are restricted to change only on the clock transition that causes state changes in the sequential components of the system. There is good reason to impose these restrictions in an introductory class. Working under the “synchronous” umbrella protects the designer from many timing problems that can occur in systems if these restrictions are not followed. However, examples abound where synchronous restrictions must be violated. For example, when a manually controlled switch input enters an otherwise synchronous system, the manual switch variable can change value at times unrelated to the clock transition, violating synchronous restrictions and causing headaches.
In fact, synchronous design techniques, and other related design regimens, are special cases of the more general design approach called “asynchronous” finite state machine design. In asynchronous design, there is no special clock signal to cause state changes. Instead, the state machine reacts to changes on the input variables from the environment. Flip-flops, for example, actually are not elementary building blocks of digital circuits as is taught in introductory courses. Flip-flops themselves are designed as asynchronous circuits. The memory in sequential circuits arises from the feedback present in asynchronous design to implement states in the state machine operation. In asynchronous sequential circuit design, there are no artificial restrictions on circuit behavior. As a result, however, there are many more concerns that must be addressed by the designer in order to ensure correct circuit operation, so asynchronous design is usually omitted from discussion in introductory digital courses.
This paper addresses some issues related to asynchronous finite state machine design, and includes some important examples of specific asynchronous circuits that have central significance in digital design. Techniques are included here to incorporate asynchronous design into lab experiments for advanced digital design courses. Without an understanding of the issues presented here, digital designers must work in a design environment that unnecessarily limits what they can do.
Carroll, C. (2006, June), Asynchronous Finite State Machine Design: A Lost Art? Paper presented at 2006 Annual Conference & Exposition, Chicago, Illinois. https://peer.asee.org/379
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2006 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015