by #cubes are given in Tab. 2. The number of true
nodes multiplied by 2 gives the lower bound on
memory space (in words) for dispatch tables.
Table 1: Various RRA4 program options.
tested dispatch # table space x
variables: table size lookups time
8 x 1 34 8 272
4 x 2 40 4 160
2, 3, 3 52 3 156
2, 2, 4 64 3 192
4, 4 72 2 144
8 256 1 256
Table 2: MTBDDs for Round Robin Arbiters.
in out
#cubes
bbb
# true
nodes
n m
RRA3 6 3 10 10
RRA4 8 4
17
17
RRA6 12 6
37
40
RRA8 16 8
65
75
RRA12 24 12
145
189
5 CONCLUSIONS
Programming a digital logic component of micro-
processor-based control systems need not rely only
on ladder diagrams anymore. Modern digital logic
design offers multi-terminal BDDs that can specify
groups of Boolean functions simultaneously, are
non-redundant and allow direct conversion to
branching programs with dispatch tables.
The advantages of the presented technique are
twofold:
1. The transition from cube specification to the
MTBDD and then to the assembly program is
relatively easy and can be automated. The latter
transition is of course depending on a target
processor.
2. As soon as the MTBDD is known, the most
suitable program implementation can be chosen
trading-off performance for memory space (mainly
to store dispatch tables).
The programming technique has been demonstrated
on (but it is not limited to) the class of arbiter
circuits. Currently it is applicable to integer
functions of Boolean variables with don´t cares.
Future research will address multiple-output
Boolean functions with compatible input cubes and
incidentally with ternary output cubes c {0, -, 1}
m
.
This extension could provide appropriate design
techniques for new classes of functions.
ACKNOWLEDGEMENTS
This research has been carried out under the
financial support of the research grants “Natural
Computing on Unconventional Platforms”,
GP103/10/1517, “Safety and security of networked
embedded system applications”, GA102/08/1429,
"Mathematical and Engineering Approaches to
Developing Reliable and Secure Concurrent and
Distributed Computer Systems" GA 102/09/H042,
all care of Grant Agency of Czech Republic, and by
the BUT FIT grant FIT-10-S-1 and the
research plan MSM0021630528.
REFERENCES
Bryant, R. E., 1991. On the complexity of VLSI
implementations and graph representations of Boolean
functions with applications to integer multiplication. In:
IEEE Transactions on Computers, Vol. 40, pp. 205–213,
1991.
Brzozowski, J. A., Luba, T., 1997. Decomposition of
Boolean Functions Specified by Cubes. Research report
CS-97-01, University of Waterloo, Canada, p. 36.
Dvořák, V., 1997. Efficient Evaluation of Multiple-
Output Boolean Functions in Embedded Software or
Firmware, In: Journal of Software, Vol. 2, No. 5, 2007,
pp. 52–63.
Gilvarry, I., 2009.
IA-32 Features and Flexibility for
Next-Generation Industrial Control. Intel Technology,
Journal, Vol. 13, Issue 01, March 2009.
Matsuura, M., Sasao, T., 2007. BDD representation
for incompletely specified multiple-output logic functions
and its application to the design of LUT cascades, In:
IEICE Transaction on Fundamentals of Electronics,
Communications and Computer Sciences, Vol. E90-A,
No. 12, Dec. 2007, pp. 2770–2777.
Petruzella, F.D., 2004. Programmable Logic Control-
lers, McGraw Hill Science/Engineering/Math,
Sosic, R., Gu, J. and Johnson, R., 1996. The Unison
algorithm: Fast evaluation of Boolean expressions. ACM
Transactions on Design Automation of Electronic Systems,
1(4): pp. 456-477, Oct. 1996.
Yanushkevich, S. N., Miller, D. M., Shmerko, V.P.,
Stankovic, R. S., 2006. Decision Diagram Techniques for
Micro- and Nanoelectric Design Handbook. CRC Press,
Taylor & Francis Group, Boca Raton, FL.
MULTI-TERMINAL BDDS IN MICROPROCESSOR-BASED CONTROL
145