Compact BDD Representations for Multiple-Output

0 downloads 0 Views 76KB Size Report
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 )

Suggest Documents