20 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 1,JANUARY 2008
Encoding Large Asynchronous Controllers
With ILP Techniques
Josep Carmona and Jordi Cortadella, Member,IEEE
Abstract—State encoding is one of the most difficult problems
in the synthesis of asynchronous controllers. This paper presents
a method that can solve the problem of large controllers specified
with signal transition graphs. The method is based on the struc-
tural theory of Petri nets and uses integer-linear programming
to insert state signals in locations that guarantee the consistency
and absence of critical races. The structural nature of the pro-
posed method makes it conservative, i.e., a solution cannot be
guaranteed, even if it exists. Nevertheless, the experiments show
that this limitation did not preclude finding a solution for all the
examples presented in this paper. The method can be customized
for area or delay optimization. The experimental results confirm
the quality of the circuits, as compared with state-based methods.
They also show the significant benefits that could be obtained if
logic synthesis would be incorporated in synthesis frameworks
that generate controllers by syntax-directed translation.
Index Terms—Asynchronous circuits, Petri net (PN), state
encoding, structural methods.
I. I NTRODUCTION
T
HE AUTOMATIC synthesis of asynchronous controllers
has often faced a difficult and challenging problem, i.e.,
state encoding. The absence of critical races in the behavior of
clockless circuits with high concurrence is a property that is
not easy to meet. The strategies that have been proposed for
several decades are intrinsically related to the circuit’s mode of
operation.
In the fundamental mode of operation, based on the work
of Huffman [15] and Unger [33], the circuit and the environ-
ment sequentially work. Every burst of events produced by
the environment at the inputs is followed by a burst of events
produced by the circuit at the outputs. However, inputs and
outputs never simultaneously change. These circuits are usually
specified using flow tables, in which the rows represent states,
and the columns represent signals. The encoding problem aims
at producing a flow table, in which the input changes produce
a set of internal transitions that, after visiting unstable states,
always finish in terminal stable states [23], [32].
Manuscript received December 21, 2006; revised May 29, 2007. This work
was supported in part by the Comisión Interministerial de Ciencia y Tecnología
(CICYT) under Contract TIN2004-07925 and in part by the Generalitat de
Catalunya through a Distinction for Research Fund. This paper is an extended
version of [3]. This paper was recommended by Associate Editor S. Nowick.
The authors are with the Department of Software, Universitat Politècnica
de Catalunya, 08034 Barcelona, Spain (e-mail: jcarmona@lsi.upc.edu; jordi.
cortadella@upc.edu).
Digital Object Identifier 10.1109/TCAD.2007.907238
Another mode of operation is the burst mode [27], in which
the environment is allowed to produce different sets of in-
put bursts, with an associated output burst for each one. An
extension has also been proposed to allow some restricted
concurrence between inputs and outputs [38]. In [12], the
problem was solved by adding specific constraints to the input
encoding problem [25]. The additional constraints are the ones
that guarantee the absence of critical races in the encoding.
The state encoding problem becomes even more difficult for
the input/output mode of operation, in which no constraints
on the concurrence between inputs and outputs are imposed.
The signal transition graph (STG) [6], [29] is the most popular
specification formalism for this type of circuits. This is the
formalism used in this paper.
A. State Encoding for STGs
In [36], state encoding was formulated as a set of Boolean
constraints to find a state variable assignment with race-free be-
havior. Solutions could be found by using a satisfiability (SAT)
solver, but only very small specifications could be handled.
In [14], the specification was first decomposed to reduce the
complexity of the SAT problem proposed in [36]. However,
the approach could only find suboptimal solutions for some
subclasses of STGs.
In [19], the problem was solved by constructing a graph of
encoding conflicts and then coloring the graph with binary en-
coded colors. This method was limited to specifications without
choices.
A general method for state encoding was proposed in [7],
which is based on the theory of regions of Petri nets (PNs).
The insertion of new signals was restricted to regions and
intersections of regions, thus guaranteeing a race-free encoding.
In all the previous methods, the set of reachable states must
be generated to solve the encoding problem. Even though
the method proposed in [7] used binary decision diagrams to
symbolically represent sets of states, the applicability was re-
duced to specifications with not more than 20 signals. The state
explosion problem has been the main reason that the previous
methods have not been able to synthesize large controllers.
Recently, an approach for state encoding that combines
partial order techniques with SAT has been presented as an
alternative to state-based methods [17]. The underlying idea for
a consistent signal insertion as the resolution of an SAT problem
inspired the technique presented in this paper. The method in
[17] is exact and requires a larger computational complexity
than the conservative method presented in this paper.
0278-0070/$25.00 © 2008 IEEE