Sep 6, 2001 - 8¥qpr B ps t u b iff ез@3A5¥Dpr ¢BD@. 6. ¥Dpr vBGEFEFEHBD@FIQP. 6. ¥Dpr w Q ps . The CF requires auxiliary binary variables. YyxA BD ...
Compact BDD Representations for Multiple-Output Functions and Their Application
Tsutomu SASAO , Munehiro MATSUURA , Yukihiro IGUCHI , and Shinobu NAGAYAMA Department of Computer Science and Electronics, Kyushu Institute of Technology Center for Microelectronic Systems, Kyushu Institute of Technology Department of Computer Science, Meiji University
September 6, 2001 Abstract
of a 4-output function is
This paper shows a new method to represent a multipleoutput function: an encoded characteristic function for non
zero outputs (ECFN). The ECFN uses binary vari ables to represent an -input -output function, where
. The binary decision diagrams (BDDs) for ECFNs are never greater than corresponding SBDDs. The size of a BDD depends on the encoding of the outputs as well as the ordering of the variables. We conjecture that there exists an -input -output function, where the opti nodes, while the mal encoding produces BDDs with worst encoding produces BDDs with !#"%$ nodes. We formulate an encoding problem and show a heuristic method. Experimental results using standard benchmark functions show that the sizes of BDDs can be reduced significantly by considering encodings. Index term: Multiple-output function, encoding problem, BDD, SBDD, MTBDD, characteristic function.
&
The size of a CF tends to be very large, since it involves A5 binary variables. The advantage of the CF is its -output function, small evaluation time: For an -input A5 we can evaluate the function in @ time by using a BDD for CF. CFs are used in logic simulation [1], and multi-level logic optimization [6]. The third method is a shared binary decision diagram (SBDD) [14]. In many cases, SBDDs are smaller than corresponding MTBDDs and BDDs forU CFs. To evaluate the T time. function using an SBDD, we need @ In this paper, we consider the fourth method to represent a multiple-output function, Encoded Characteristic Function4=6 for Non-zero outputs (ECFN). It represents a mapping 6 V 6
5W ,H F * I F XY> , where . iff & ED 8 U & (.Z[\ ,H F _`> IF ]M^ , where a denotes the integer represented by
1
the binary vector . For example, the ECFN of a 4-output function is
Introduction
Logic networks usually have many outputs. In most cases, independent representations of each output are inef1 ficient. Several' methods exist to represent multiple-output (!)+*,( *.-/-.-,*0(.132 5476 6 & 98 functions: , where 6:';!!? $ $ . In this paper, we consider methods to represent multiple-output functions by using compact binary decision diagrams (BDDs). There have been three previous methods to represent multiple-output functions by BDDs. The first method is a multi-terminal binary decision diagram (MTBDD) [14]. In an MTBDD, each terminal is a -output function, binary vector of bits. For an -input ABC+ we can evaluate the function in @ time. Unfortunately, MTBDDs tend to be too large to construct. The second method is a binary decision diagram (BDD) 1 for the characteristic function (CF) of the6 multiple-output 4+6 6 & E D 8 function. The CF is a mapping , where GH F * I F JK> (!)#,H F *,( ,H F L*/-.-.-0*,(.132 ,H F M 3 I F & iff . The CF $ $ ;ON ) *,N */-.-/-,*,N 132 ? requires auxiliary binary variables $ $ that represent outputs. & shows the set of all the valid combinations of the inputs and the outputs. For example, the CF
P,N/Q ) (!Q = ) R N/)L(!)/ L,N Q ( Q R N ( ,N Q ( Q R N ( GNQ S (.Q = S R NS/(.S! $ $ $ $
IF
&
bQN N Q ) ( ) RcN Q N ) ( R5N N Q ) ( R5N N ) ( S $ $ $ $ $
ECFNs can be used in FPGA design [10], logic emulation [2], and embedded systems [15]. As shown in later, a BDD for an ECFN is a generalization of an SBDD, and can be made smaller than the corresponding SBDD. So, it is useful for applications where the size is important.
2
ECFN and Encoding Problem
In this section, we define encoded characteristic functions for non-zero outputs (ECFNs) and formulate their encoding program [16]. )
Definition 2.1 d
eQ d , and df$
d . (.ghAi
Definition 2.2 >.For an -output function +*.-.-/-j* , an encoded characteristic function for lk non-zero outputs (ECFN) is &
132 m $ N ],oL2 pq N ],o2 p+ r T.T/TsN )]Mt ( g * gn ) V $ V
Table 2.1: Encoding methods for four-output function. N
N.) >v< >u>
Table 2.2: Encoding methods for 8-output function. N N N.) u> >
< > >>v< >>u>
Encoding 1 Encoding 2 Encoding 3 ( ) ( ) ( ) (
(
( $ ( S
(.S
(
(.S $ ( (
$ I F w I
2
* I
2 *.-/-.-,* I )
V V where is a binary representation i
b+ $ of an integer , and . N )
N
-.-.-
N
, and V
&
N Q N Q N Q )