5

Huffman Circuits

Never do today what you can put off till tomorrow. Delay may give clearer light as to what is best to be done.

—Aaron Burr

Delay is preferable to error.

—Thomas Jefferson

Feedback is your friend.

—Professor Doyle at my Caltech Frosh Camp

In this chapter we introduce the Huffman school of thought to the synthesis of asynchronous circuits. Huffman circuits are designed using a traditional asynchronous state machine approach. As depicted in Figure 5.1, an asynchronous state machine has primary inputs, primary outputs, and fed-back state variables. The state is stored in the feedback loops and thus may need delay elements along the feedback path to prevent state changes from occurring too rapidly. The design of Huffman circuits begins with a specification given in a flow table which may have been derived from an AFSM, BM, or XBM machine. The goal of the synthesis procedure is to derive a correct circuit netlist which has been optimized according to design criteria such as area, speed, or power. The approach taken for the synthesis of synchronous state machines is to divide the synthesis problem into three steps. The first step is state minimization, in which compatible states are merged to produce a simpler flow table. The second step is state assignment in which a binary encoding is assigned to each state. The third step is logic minimization in which an optimized netlist is derived from an encoded flow table. The design of Huffman circuits can follow the same three-step ...

Get Asynchronous Circuit Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.