BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition

Size: px
Start display at page:

Download "BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition"

Transcription

1 BDD Representation for Incompletel Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition. Tsutomu Sasao and Munehiro Matsuura Department of Computer Science and Electronics, Kushu Institute of Technolog, Iizuka 0-50, Japan ABSTRACT A multiple-output function can be represented b a binar decision diagram for characteristic function (BDD for CF). This paper presents a new method to represent multiple-output incompletel specified functions using BDD for CF. An algorithm to reduce the widths of BDD for CFs is presented. This method is useful for decomposition of incompletel specified multipleoutput functions. Eperimental results for radi converters, adders and a multiplier show that this method is useful for the snthesis of LUT cascades. This data structure is also useful to threevalued logic simulation. Categories and Subject Descriptors B.. [Logic Design]: Design Aids General Terms Algorithms, Design, Eperimentation, Performance, Theor Kewords Incompletel Specified Function, BDD, Characteristic function, Cascade, Code converter. INTRODUCTION Construction of a Binar Decision Diagram (BDD) for an incompletel specified Boolean function arises in several applications in the CAD domain: verification, logic snthesis, and software snthesis. Three methods are known to represent an incompletel specified logic function b binar decision diagrams (BDDs) [9]:. A ternar function that takes 0, and don t care [9].. A pair of BDDs to represent three values [].. An auiliar variable that represents don t cares [9, ]. Most works are related to the minimization of total number of nodes in BDDs [,, 7, ]. However, these methods are unsuitable for functional decompositions of multiple-output functions. In a functional decomposition, the minimization of width Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To cop otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. DAC 005, June 7, 005, Anaheim, California, USA. Copright 005 ACM /05/000...$5.00. of a BDD is more important than the minimization of total number of nodes. To find an efficient decomposition of a multipleoutput logic function, we can use a multi-terminal binar decision diagram (MTBDD), or a BDD that represents the characteristic function of the multiple-output function (BDD for CF) []. BDD for CFs usuall require fewer nodes than corresponding MTBDDs, and the widths of the BDD for CFs tend to be smaller than that of the corresponding MTBDDs. In this paper, we show a new method to represent an incompletel specified multiple-output function. It uses a BDD for CF, and is suitable for functional decomposition. We also show a method to reduce the width of the BDD for CF. Eperimental results using radi converters, adders, and a multiplier show the effectiveness of the approach.. DEFINITIONS DEFINITION.. isasupport variable offiffdepends on. A function f : {0,} n {0,,d} is an incompletel specified function, where d denotes the don t care. Let f 0,f, and f d be the functions represented b sets f (0), f (), and f (d), respectivel. Note that f 0 f f d =, f 0 f = 0, f f d = 0, and f 0 f d = 0. DEFINITION.. [] Let F =(f (X), f (X),..., f m (X)) be a multiple-output function, and let X =(,,..., n ) be the input variables. The characteristic function of the completel specified multiple-output function Fis m^ χ(x,y )= ( i f i (X)), i= where i is the variable representing the output f i, and i {0,,...,m}. The characteristic function of a completel specified multipleoutput function denotes the set of the valid input-output combinations. Let f i 0 (X) = f i (X) and f i (X) = f i (X), then the characteristic function χ is represented as follows: m^ χ(x,y )= (ȳ i f i 0 (X) i f i (X)). i= In an incompletel specified function, when the function value f i is don t care, the value of the function can be either 0 or. Therefore, for such inputs, the characteristic function is independent of the values of output variables i.letf i d denote the don t care set, then we have ȳ i ( f i 0 (X) f i d (X)) i ( f i (X) f i d (X)) = ȳ i f i 0 (X) i f i (X) f i d (X) 7

2 Table.: Truth table of an incompletel specified function. i i i f f f f d d d d 0 0 d 0 0 d d 0 d d 0 0 d 0 (a) f i = 0 0 (b) f i = (c) f i = d Figure.: BDD for CF representing an incompletel specified function. Thus, we have the following: DEFINITION.. The characteristic function χ of an incompletel specified multiple-output function F =(f (X), f (X),..., f m (X)) is m^ χ(x,y )= {ȳ i f i 0 (X) i f i (X) f i d (X)} i= EXAMPLE.. Consider the incompletel specified function shown in Table.. Since, f 0 = f = f d = f 0 = f = f d =, the characteristic function is χ = {ȳ ( ) ( ) ( )} {ȳ ( ) ( ) ( )} Net, we will consider the BDD that represents the characteristic function for incompletel specified multiple-output function. DEFINITION.. The BDD for CF of a multiple-output function F =(f, f,..., f m ) represents the characteristic function χ of F, where the variable representing the output i is in the below of the support variables for f i. (We assume that the root node is in the top.) Fig.. illustrates a BDD for CF of an incompletel specified multiple-output function, where solid lines denote the -edges, while dotted lines denote the 0-edges. When the -edge of the node i is connected to a constant 0 node, f i = 0 (Fig..(a)); when the 0-edge of the node i is connected to a constant 0 node, f i = (Fig..(b)); and when both the 0-edge and -edge of the node i are connected to the same non-constant 0 node, f i = d (don t care) (Fig..(c)). In the case of f i = d, the node for i is redundant, and it is deleted during the minimization of the BDD. In the case of a BDD for CF representing a completel specified function, each path from the root node to the constant node involves nodes for all the output variables i.furthermore, one of the edges of the node for i is connected to the constant 0 node. On the other hand, in the case of a BDD for CF representing an incompletel specified function, each path from the root node to the constant node ma not involve nodes for some variable i. For the path where the output variables i is missing, f i is don t care. (a) BDD for CF when 0 s are assigned to the all the don t cares. (b) BDD for CF for incompletel specified function. Figure.: BDD for CF representing multiple-output function. EXAMPLE.. Fig.. shows two BDD for CFs representing the function in Eample.. For simplicit, the constant 0 node and all the edges connecting to it are omitted. Fig..(a) shows the BDD for CF representing the completel specified function, where 0 s are assigned to all the don t cares. Fig..(b) shows the BDD for CF representing the incompletel specified function. The solid and dotted bold edges denote that at least one node for an output variable is missing, and the output value is don t care. Note that in Fig..(a), all the output variables {, } appear in each path from the root node to the constant node. On the other hand, in Fig..(b), in the bold edges at least one output variable i is missing, and the corresponding output f i is don t care.. DECOMPOSITION AND BDD FOR CFS. Decomposition using BDD for CF B using a BDD for CF, we can decompose a multiple-output logic function efficientl []. When we decompose the function b using a BDD, the smaller the width of the BDD, the smaller the network becomes after decomposition. In the case of a incompletel specified function, we can often reduce the width of the BDD for CF b finding an appropriate assignment of constants to the don t cares. From here, we will consider a method to reduce the width of a BDD for CF representing an incompletel specified function. DEFINITION.. Let the height of the root node be the total number of variables, and let the height of the constant node be 0. Let (z n+m,z n+m,...,z ) be the ordering of the variables, where z n+m corresponds to the variable for the root node. The width of the BDD for CF at the height k is the number of edges crossing the section of the BDD between variables z k and 7

3 Table.: Decomposition chart of an incompletel specified function. X = {, } d X = {, } 0 d d 0 d 0 d 0 d 0 0 Φ Φ Φ Φ z k+, where the edges incident to the same node are counted as one, also the edges pointing the constant 0 are not counted. The width of the BDD for CF at the height 0 is defined as. DEFINITION.. Let f (X) be a logic function, and (X,X ) be a partition of the input variables. Let X be the number of elements in X. The decomposition chart for f is a twodimensional matri with X columns and X rows, where each column and row has a label of unique binar code, and each element corresponds the truth value of f. In the decomposition chart, the column multiplicit denoted b µ is the number of different column patterns. The function represented b a column is a column function. EXAMPLE.. Table. shows a decomposition chart of a -input -output incompletel specified function. Since all the column patterns are different, the column multiplicit is µ =. In a conventional functional decomposition using a BDD, the width of a BDD is equal to the column multiplicit µ. Let(X,X ) be a partition of the input variables, then the nodes ecept for variables X that are directl connected to the nodes for variables X correspond to the column patterns in the decomposition chart. In a partition (X,X ), nodes representing column functions ma have different heights. In a functional decomposition, such a relation is denoted b f (X,X )=g(h(x ),X ). When log µ < X, the function f can be decomposed into two networks: The first one realizes h(x ), and the second one realizes g(h,x ). The functional decomposition is effective when the number of inputs for g is smaller than that of f. DEFINITION.. Two incompletel specified functions f and garecompatible, denoted b f g, iff f 0 g = 0 and f g 0 = 0. LEMMA.. Let χ a and χ b be the characteristic functions of two incompletel specified functions. If χ a χ b and χ c = χ a χ b, then χ c χ a and χ c χ b. EXAMPLE.. In the decomposition chart of Table., for pairs of column functions {Φ,Φ }, {Φ,Φ }, and {Φ,Φ }, the functions are compatible. Make the logical product of columns Φ and Φ, and replace them with Φ and Φ, respectivel. Where, Φ and Φ show that the functions obtained b assigning constants to don t cares. Also, make the logical product of columns Φ and Φ, and replace them with Φ and Φ,respectivel. Then, we have the decomposition chart in Table., where µ =. The following theorem is similar to, but different from well known theorem on conventional functional decomposition using BDDs [, ]. It is an etension of [] into incompletel specified functions. In the case of BDD for CF, we do not count the columns that consist of all zeros. Table.: Reduction of column multiplicit. X = {, } X = {, } 0 d d Φ Φ Φ Φ X H X Figure.: Decomposition of multiple-output function. THEOREM.. Let (X,Y,X,Y ) be the variable ordering of the BDD for CF that represents the incompletel specified function, where X and X denote the disjoint ordered sets of input variables, and Y and Y denote the disjoint ordered sets of output variables. Let n be the number of variables in X, and m be the number of variables in Y. Let W be the width of the BDD for CF at height n + m. When counting the width W, ignore the edges that connect the nodes of output variables and the constant 0. Suppose that the multiple-output function is realized b the network shown in Fig... Then, the necessar and sufficient number of connections between two blocks H and Gis log W.. Algorithm to Reduce the of abddfor CF Various methods eist to reduce the number of nodes in BDDs representing incompletel specified functions [,,, 9, 0]. In the method [9], for each node, two children are merged when the functions represented b them are compatible. For eample, when two children f and g in Fig..(a) are compatible, the BDD is simplified as shown in Fig..(b). B doing this operation repeatedl, we can reduce the number of nodes in the BDD. The following algorithm is used in our eperiment, which is a simplified version of [9]. Note that our data structure is a BDD for CF instead of an SBDD. ALGORITHM.. From the root node of the BDD, do the following operations recursivel.. If the function represented b node v has no don t care, then terminate.. For v, check if two children v 0 and v are compatible. Let the functions represented b v 0 and v be χ 0 and χ,respectivel. (a) Y G Y f g f g (b) Figure.: Simplification method in [9]. 75

4 5 (a) Before application. (b) After application. (a) (b) Figure.: BDD for CF before and after application of Algorithm.. If the are incompatible, then appl this algorithm to v 0 and v. If the are compatible, then replace v 0 and v with v new,wherev new represents χ new =χ 0 χ. EXAMPLE.. Fig..(a) and (b) show the BDD for CFs before and after application of Algorithm., respectivel. When there is onl one edge coming down from a node, it denotes two edges that coincide. In Fig..(a), nodes and have compatible two children. For this function, the node replaced for node, and the node replaced for nodes are the same. So, in Fig..(b), two nodes and are replaced with node. In the figures, the rightmost columns headed with denote the widths of the BDDs for each height. Note that the maimum width is reduced from to 5, and the number of non-terminal nodes is reduced from 5 to. The method in [9] is effective for local reduction of the number of nodes. However, since it onl considers the compatibilit of two children for each node at one time, it is not so effective to reduce the width of the BDD. Thus, in our method, we check the compatibilit of column functions in each height, and perform the minimal clique cover of the functions to reduce the width of the BDD. DEFINITION.. In a compatibilit graph, each node corresponds to a function, and an edge eists between nodes if the corresponding functions are compatible. In the functional decomposition, check the compatibilit of the column functions, and construct the compatibilit graph. Then, minimize the column multiplicit µ b finding the minimum clique cover [0, ]. Since this problem is NP-hard [5], we use the following heuristic method. ALGORITHM.. (Heuristic Minimal Clique Cover) Let S a be the set of all the nodes in the compatibilit graph. Let C be the set of subset of S a.froms a, delete isolated nodes, and put them into C. While S a φ, iterate the following operations:. Let v i be the node that has the minimum number of edges in S a.lets i {v i }.LetS b be the set of nodes in S a that are connecting to v i.. While S b φ, iterate the following operations: (a) Let v j be the node that has the minimum edges in S b. Let S i S i {v j }.S b S b {v j }. (b) From S b, delete the nodes that are not connected to v j (c) Figure.: Reduction of width of BDD for CF using Algorithm... C C {S i },S a S a S i. ALGORITHM.. (Reduction of s of a BDD for CF) Let the height of the root node be t, and let the height of the constant nodes be 0. From the height t to, iterate the following operations:. For each height, construct the set of all the column functions, and construct the compatibilit graph.. Find the minimum clique cover for the nodes b Algorithm... For the functions that corresponds the nodes of each clique, assign constants to the don t cares to make a function that is compatible to all the function.. For each column function, replace it with the function produced in step, and re-construct the BDD with a smaller width. EXAMPLE.. Fig.. shows the BDD for CF after appling Algorithm. to one in Fig... At the height of, nodes and are compatible in Fig..(a). So, these nodes are merged into node in Fig..(b). Net, at the height of, the compatibilit graph is shown in Fig..5. Note that in Fig..(c), nodes and are replaced b node, and nodes 7 and 0 are replaced b node. The resulting BDD is shown in Fig..(d). B comparing Figs..(a) and (d), we can see that the maimum width is reduced from to, and the number of non-terminal nodes is reduced from 5 to.. EXPERIMENTAL RESULTS. Benchmark Functions To evaluate the performance of Algorithm., we generated the following incompletel specified functions [, 5]: (d) 7

5 7 5 0 Figure.5: Compatibilit graph. Residue Number to Binar Number Converters: RNS (-input -output, DC 9.5%: -digit RNS number [7], where the moduli are 5, 7, 9, and ) RNS (-input 5-output, DC 7.0%) RNS (7-input -output, DC 7.%) k-nar to Binar Converters: -digit -nar to binar (-input -output, DC 77.7%) -digit -nar to binar (-input 5-output, DC 5.%) 5-digit decimal to binar (0-input 7-output, DC 90.5%) -digit 5-nar to binar (-input -output, DC 9.0%) -digit -nar to binar (-input -output, DC.%) -digit 7-nar to binar (-input 7-output, DC 55.%) 0-digit ternar to binar (0-input -output, DC 9.%) Decimal Adders and a Multiplier: -digit decimal adder (-input -output, DC 9.0%) -digit decimal adder (-input 0-output, DC 97.7%) -digit decimal multiplier (-input -output, DC.7%) EXAMPLE.. Consider the 0-digit ternar to binar converters. Binar-coded-ternar is used to represent a ternar digit: 0 is represented b (00); is represented b (0); and is represented b (0). () is an undefined input, and the corresponding outputs are don t cares. Thus, ( )0 = 0.05 of the inputs are specified, but ( )0 = 0.9 are don t cares.. Reduction of BDD We applied Algorithms. and. to each of the incompletel specified function presented in Section., and reduced the widths of the BDD for CF. Before appling Algorithms, we optimize the variable order for the BDD for CF b sifting algorithm [], where the sum of widths is used as the cost function. When all the outputs of the function are represented b a single BDD for CF, the circuits are too large to implement. So, we partition the outputs into two sets, and represent each of them b a BDD for CF separatel. Table. shows maimum widths of BDD for CF when the multiple-output function F = ( f,..., f m ) is partitioned into two: F =(f,..., f m/ ) and F =(f m/ +,..., f m ). The upper numbers denote the results for F, and the lower numbers denote the results for F.Inthetables, the column headed b DC = 0 denotes the case where constant 0 s are assigned to all the don t cares; DC = denotes the case where constant s are assigned to all the don t cares; ISF denotes the case where incompletel specified functions (ternar functions) are represented; Alg. denotes the case where Algorithm. is applied; and Alg. denotes the case where Algorithm. is applied. Reduction ratio is normalized to.00 for the case of DC = 0. B partitioning the outputs into two sets, we could drasticall reduce the sizes of the BDDs for all the functions. For some function, the maimum width of the BDD became /000, and the total number of nodes became /70. With bi-partitions, we can implement the circuits with reasonable sizes. Table. shows that Algorithm. produced BDDs with smaller widths than Algorithm., especiall for F, the outputs for less 9 Table.: Maimum width of BDD for CFs. Name DC=0 DC= ISF Alg. Alg RNS RNS RNS digit -nar to binar digit -nar to binar digit decimal to binar digit 5-nar to binar digit -nar to binar digit 7-nar to binar digit ternar to binar digit decimal adder digit decimal adder digit decimal multiplier Reduction ratio Table.: Reduction of LUT Cascades b using don t cares. Name DC=0 Alg. #Cells #LUTs #Cas #Cells #LUTs #Cas RNS RNS RNS digit -nar to binar 9 -digit -nar to binar 0 5-digit decimal to binar digit 5-nar to binar 5 -digit -nar to binar digit 7-nar to binar digit ternar to binar digit decimal adder digit decimal adder 0 -digit decimal multiplier 5 7 Total Ratio significant bits. Algorithm. checks onl the compatibilit of two children for each node, and reduces the number of nodes locall. On the other hand, Algorithm. checks compatibilities among functions for each height of a BDD, and so reduces the width more effectivel. Let w be the width of the BDD, then the algorithm checks (w w)/ compatibilities. Also, it performs minimal clique cover, so it is more time-consuming than Algorithm.. We used gcc for Red Hat Linu version. on a PC using Pentium (.GHz) with G Bte memor. The longest CPU times were as follows: When all the outputs were represented b a single BDD for CF: 5 sec (7---7 RNS) to generate BDD for CF. 7 sec (0-digit ternar to binar) to reduce the width of the BDD. When the outputs are bi-partitioned: sec (--5-7 RNS) to generate a pair of BDD for CFs. sec (--5-7 RNS) to reduce the widths of BDD for CFs.. Logic Snthesis of LUT Cascades In the practical applications, when the width of the BDD is slightl larger than k, b properl assigning the constants to don t cares, we can often reduce the width of the BDD, and re- 77

6 (a)when0 swereassignedtoallthedon t cares. 7 (b) When Algorithm. was used to assign don t cares. Figure.: RNS to binar number converters. duces the number of interconnections between two blocks H and G in Fig... To see the usefulness of Algorithm., we designed benchmark functions in Section. b LUT cascades []. Table. shows the sizes of LUT cascades. For all benchmark functions ecept for RNS, we assume that each cell has at most inputs and at most outputs []. For RNS, we used cells with at most inputs and at most 9 outputs, since it required 9-output cells. In the table, #Cells denote the number of cells in the cascade; #LUTs denotes total number of LUT outputs; and #Cas denotes the number of cascades. For eample, consider RNS. In this function, 9.5% of the input combinations are don t cares. Fig..(a) shows the case where constant 0 s were assigned to all the don t cares, while Fig..(b) shows the case where Algorithm. was used to assign don t cares. Algorithm. produced smaller cascades: On the average, the total numbers of cells is reduced b b 0%, the total number of cell outputs is reduced b %, and the total numbers of cascades is reduced b %. We also designed cascades b using Algorithm.. In this case, the reduction were, 5%, %, and %, respectivel. So, it was not so effective as Algorithm.. 5. CONCLUDING REMARKS In this paper, we first showed a new method to represent an incompletel specified multiple-output function b a BDD for CF. Then, we presented a method to reduce the width of the BDD. Finall, we applied this method to radi converters, adders and a multiplier. When all the outputs were represented b a single BDD for CF, we could not reduce the width of the BDD even if we use the don t cares. However, when the outputs were partitioned into two sets, and each set was represented b abddfor CF, we could reduce the width of the BDD b using don t cares. We also applied this method to design LUT cascades. B using the method, we could reduce the numbers of cells in cascades, on the average, b 0%. The technique is promising for other BDD-based snthesis areas, e.g. BDD-based state-space eploration, where the BDD representation of the state set can be simplified using reached states as don t cares. Acknowledgments This research is supported in part b Grant in Aid for Scientific Research of MEXT, and Grant of Kitakushu Area Innovative Cluster Project.. REFERENCES [] R. L. Ashenhurst, The decomposition of switching functions, International Smposium on the Theor of Switching, pp. 7-, April 957. [] P. Ashar and S. Malik, Fast functional simulation using branching programs, Inter. Conf. on CAD, pp. 0-, Nov [] S. Chang, D. Cheng, and M. Marek-Sadowska, Minimizing ROBDD size of incompletel specified multiple output functions, In European Design & Test Conf., pp. 0-, 99. [] K. Cho and R. E. Brant, Test pattern generation for sequential MOS circuits b smbolic fault simulation, Design Automation Conference, pp. -, June 99. [5] M. R. Gare and D. S. Johnson, Computers and Intractabilit, Freeman, San Francisco, 979. [] Y. Hong, P. Beerel, J. Burch, and K. McMillan, Safe BDD minimization using don t cares, Design Automation Conference, pp. 0-, 997. [7] I. Koren,Computer Arithmetic Algorithms (nd Edition), A. K. Peters, Natick, MA, 00. [] Y-T. Lai, M. Pedram and S. B. K. Vrudhula, BDD based decomposition of logic functions with application to FPGA snthesis, Design Automation Conference, 99. [9] S. Minato, N. Ishiura, and S. Yajima, Shared binar decision diagram with attributed edges for efficient Boolean function manipulation, Design Automation Conference, pp. 5-57, June 990. [0] A. Mishchenko and T. Sasao, Encoding of Boolean functions and its application to LUT cascade snthesis, International Workshop on Logic and Snthesis 00, pp. 5-0, New Orleans, Louisiana, June -7, 00. [] K. Nakamura, and T. Sasao, et.al Programmable logic device with an -stage cascade of K-bit asnchronous SRAMs, Cool Chips VIII, IEEE Smposium on Low-Power and High-Speed Chips, April 0-, 005, Yokohama, Japan (to be published). [] R. Rudell, Dnamic variable ordering for ordered binar decision diagrams, ICCAD-9, pp. 7, 99. [] T. Sasao, FPGA design b generalized functional decomposition, In Logic Snthesis and Optimization, Kluwer Academic Publisher, pages 5, 99. [] T. Sasao and M. Matsuura, A method to decompose multiple-output logic functions, Design Automation Conference, pp. -, San Diego, June -, 00. [5] T. Sasao, Radi converters: Compleit and implementation b LUT cascades, International Smposium on Multiple-Valued Logic, Ma 005 (to be published). [] Available at [7] M. Sauerhoff and I. Wegener, On the compleit of minimizing the OBDD size for incompletel specified functions, IEEE Transactions on TCAD, Vol. 5, No., pp. 5-7, 99. [] C. Scholl, Multi-output functional decomposition with eploitation of don t cares, In Design Automation and Test Europe, pp. 7-7, Feb. 99. [9] T. R. Shiple, R. Hojati, A. L. Sangiovanni-Vincentelli, and R. K. Braton, Heuristic minimization of BDDs using don t cares, Design Automation Conference, pp. 5-, 99. [0] W. Wan and M. A. Perkowski, A new approach to the decomposition of incompletel specified functions based on graph-coloring and local transformations and its application to FPGA mapping, IEEE EURO-DAC 9, pp. 0-5, Hamburg, Sept. 7-0, 99. 7

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to the Design of LUT Cascades

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to the Design of LUT Cascades 2762 IEICE TRANS. FUNDAMENTALS, VOL.E90 A, NO.12 DECEMBER 2007 PAPER Special Section on VLSI Design and CAD Algorithms BDD Representation for Incompletely Specified Multiple-Output Logic Functions and

More information

On Designs of Radix Converters Using Arithmetic Decompositions

On Designs of Radix Converters Using Arithmetic Decompositions On Designs of Radix Converters Using Arithmetic Decompositions Yukihiro Iguchi 1 Tsutomu Sasao Munehiro Matsuura 1 Dept. of Computer Science, Meiji University, Kawasaki 1-51, Japan Dept. of Computer Science

More information

Comparison of Decision Diagrams for Multiple-Output Logic Functions

Comparison of Decision Diagrams for Multiple-Output Logic Functions Comparison of Decision Diagrams for Multiple-Output Logic Functions sutomu SASAO, Yukihiro IGUCHI, and Munehiro MASUURA Department of Computer Science and Electronics, Kyushu Institute of echnology Center

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A Boolean Paradigm in Multi-Valued Logic Synthesis A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,

More information

Bi-Partition of Shared Binary Decision Diagrams

Bi-Partition of Shared Binary Decision Diagrams Bi-Partition of Shared Binary Decision Diagrams Munehiro Matsuura, Tsutomu Sasao, on T Butler, and Yukihiro Iguchi Department of Computer Science and Electronics, Kyushu Institute of Technology Center

More information

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4 A Method to Represent Multiple- Switching Functions by Using Multi-Valued Decision Diagrams Tsutomu Sasao Department of Computer Science and Electronics Kyushu Institute of Technology Iizuka 8, Japan Jon

More information

Application of LUT Cascades to Numerical Function Generators

Application of LUT Cascades to Numerical Function Generators Application of LUT Cascades to Numerical Function Generators T. Sasao J. T. Butler M. D. Riedel Department of Computer Science Department of Electrical Department of Electrical and Electronics and Computer

More information

An Architecture for IPv6 Lookup Using Parallel Index Generation Units

An Architecture for IPv6 Lookup Using Parallel Index Generation Units An Architecture for IPv6 Lookup Using Parallel Index Generation Units Hiroki Nakahara, Tsutomu Sasao, and Munehiro Matsuura Kagoshima University, Japan Kyushu Institute of Technology, Japan Abstract. This

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Functional extension of structural logic optimization techniques

Functional extension of structural logic optimization techniques Functional extension of structural logic optimization techniques J. A. Espejo, L. Entrena, E. San Millán, E. Olías Universidad Carlos III de Madrid # e-mail: { ppespejo, entrena, quique, olias}@ing.uc3m.es

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

More information

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation Shigeru Yamashita Hiroshi Sawada Akira Nagoya NTT Communication Science Laboratories 2-4, Hikaridai,

More information

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang Boolean Matching for Complex PLBs in LUT-based PAs with Application to Architecture Evaluation Jason Cong and Yean-Yow wang Department of Computer Science University of California, Los Angeles {cong, yeanyow}@cs.ucla.edu

More information

Overview. Overview. Example: Full Adder Diagnosis. Example: Full Adder Diagnosis. Valued CSP. Diagnosis using Bounded Search and Symbolic Inference

Overview. Overview. Example: Full Adder Diagnosis. Example: Full Adder Diagnosis. Valued CSP. Diagnosis using Bounded Search and Symbolic Inference Overview Diagnosis using Bounded Search and Smbolic Inference Martin Sachenbacher and Brian C. Williams MIT CSAIL Soft Constraints Framework Characteriing Structure in Soft Constraints Eploiting Structure

More information

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Debatosh Debnath Dept. of Computer Science & Engineering Oakland University, Rochester Michigan 48309, U.S.A. debnath@oakland.edu

More information

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* Yingxin Pang Dept.ofCSE Univ. of California, San Diego La Jolla, CA 92093 ypang@cs.ucsd.edu Chung-Kuan Cheng Dept.ofCSE

More information

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories Japanese Journal of Applied Physics Vol., No. B, 200, pp. 329 3300 #200 The Japan Society of Applied Physics A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static

More information

A Parallel Branching Program Machine for Emulation of Sequential Circuits

A Parallel Branching Program Machine for Emulation of Sequential Circuits A Parallel Branching Program Machine for Emulation of Sequential Circuits Hiroki Nakahara 1, Tsutomu Sasao 1 Munehiro Matsuura 1, and Yoshifumi Kawamura 2 1 Kyushu Institute of Technology, Japan 2 Renesas

More information

Binary Decision Diagrams (BDD)

Binary Decision Diagrams (BDD) Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis

More information

Verification of Arithmetic Circuits with Binary Moment Diagrams

Verification of Arithmetic Circuits with Binary Moment Diagrams Verification of Arithmetic Circuits with Binar Moment Diagrams Randal E. Brant, Yirng-An Chen Carnegie Mellon Universit Pittsburgh, PA 5 Abstract Binar Moment Diagrams (BMDs) provide a canonical representations

More information

An Optimal Algorithm for Layer Assignment of Bus Escape RoutingonPCBs

An Optimal Algorithm for Layer Assignment of Bus Escape RoutingonPCBs .3 An Optimal Algorithm for Layer Assignment of Bus Escape RoutingonPCBs Qiang Ma Evangeline F. Y. Young Martin D. F. Wong Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

Checking Equivalence for Partial Implementations

Checking Equivalence for Partial Implementations Checking Equivalence for Partial Implementations Christoph Scholl Institute of Computer Science Albert Ludwigs University D 79110 Freiburg im Breisgau, Germany email: scholl@informatik.uni-freiburg.de

More information

BINARY decision diagrams (BDDs) [5] and multivalued

BINARY decision diagrams (BDDs) [5] and multivalued IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 1645 On the Optimization of Heterogeneous MDDs Shinobu Nagayama, Member, IEEE, and Tsutomu

More information

An Implication-based Method to Detect Multi-Cycle Paths in Large Sequential Circuits

An Implication-based Method to Detect Multi-Cycle Paths in Large Sequential Circuits An Implication-based Method to etect Multi-Cycle Paths in Large Sequential Circuits Hiroyuki Higuchi Fujitsu Laboratories Ltd. 4--, Kamikodanaka, Nakahara-Ku, Kawasaki 2-8588, Japan higuchi@flab.fujitsu.co.jp

More information

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT Factor Cuts Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu ABSTRACT Enumeration of bounded size cuts is an important

More information

A Quaternary Decision Diagram Machine and the Optimization of Its Code

A Quaternary Decision Diagram Machine and the Optimization of Its Code 39th International Symposium on Multiple-Valued Logic A Quaternary Decision Diagram Machine and the Optimization o Its Code Tsutomu Sasao, Hiroki Nakahara, Munehiro Matsuura Yoshiumi Kawamura 2, Jon T.

More information

Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition

Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition Jinkyu Lee and Nur A. Touba Computer Engineering Research Center University of Teas, Austin, TX 7872 {jlee2, touba}@ece.uteas.edu

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

Minimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems

Minimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems 3 IEEE 43rd International Symposium on Multiple-Valued Logic Minimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems Shinobu Nagayama Tsutomu Sasao

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Randal E. Bryant Carnegie Mellon University Pittsburgh, PA 15213 Randy.Bryant@cs.cmu.edu http://www.cs.cmu/~bryant Abstract

More information

Report Documentation Page

Report Documentation Page On Bi-Decompositions of Logic Functions Tsutomu Sasao Department of Computer Science and Electronics Kyushu Institute of Technology Iizuka 820, Japan Jon T. Butler Department of Electrical and Computer

More information

FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability

FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. X, NO. XX, APRIL 2005 1 FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability

More information

Chapter 3 Part 1 Combinational Logic Design

Chapter 3 Part 1 Combinational Logic Design Universit of Wisconsin - Madison EE/omp Sci 352 igital Sstems undamentals Kewal K. Saluja and Yu Hen Hu Spring 22 hapter 3 Part ombinational Logic esign Originals b: harles R. Kime and Tom Kamisnski Modified

More information

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Shin-ichi Minato Hokkaido University minato@ist.hokudai.ac.jp Abstract In this paper, we propose a method of finding

More information

TitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10

TitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10 TitleArithmetic Boolean Expression Manip Author(s) Minato, Shin-Ichi Citation Formal Methods in System Design, Issue Date 997-4 DOI Doc URLhttp://hdl.handle.net/25/6892 RightThe original publication is

More information

Improvements to Satisfiability-Based Boolean Function Bi-Decomposition

Improvements to Satisfiability-Based Boolean Function Bi-Decomposition Improvements to Satisfiability-Based Boolean Function Bi-Decomposition Huan Chen and Joao Marques-Silva CASL/CSI, University College Dublin, Dublin, Ireland {huan.chen, jpms}@ucd.ie Abstract Boolean function

More information

MVSIS v1.1 Manual. Jie-Hong Jiang, Yunjian Jiang, Yinghua Li, Alan Mishchenko*, Subarna Sinha Tiziano Villa**, Robert Brayton

MVSIS v1.1 Manual. Jie-Hong Jiang, Yunjian Jiang, Yinghua Li, Alan Mishchenko*, Subarna Sinha Tiziano Villa**, Robert Brayton MVSIS v1.1 Manual Jie-Hong Jiang, Yunjian Jiang, Yinghua Li, Alan Mishchenko*, Subarna Sinha Tiziano Villa**, Robert Brayton Department of Electrical Engineering and Computer Sciences University of California,

More information

A General Sign Bit Error Correction Scheme for Approximate Adders

A General Sign Bit Error Correction Scheme for Approximate Adders A General Sign Bit Error Correction Scheme for Approximate Adders Rui Zhou and Weikang Qian University of Michigan-Shanghai Jiao Tong University Joint Institute Shanghai Jiao Tong University, Shanghai,

More information

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this report, we

More information

Sibling-Substitution-Based BDD Minimization Using Don t Cares

Sibling-Substitution-Based BDD Minimization Using Don t Cares 44 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 1, JANUARY 2000 Sibling-Substitution-Based BDD Minimization Using Don t Cares Youpyo Hong, Member, IEEE, Peter

More information

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 Verifying Integrity of Decision Diagrams Rolf Drechsler Institute of Computer Science Albert-Ludwigs-University

More information

Acyclic Multi-Way Partitioning of Boolean Networks

Acyclic Multi-Way Partitioning of Boolean Networks Acyclic Multi-Way Partitioning of Boolean Networks Jason Cong, Zheng Li, and Rajive Bagrodia Department of Computer Science University of California, Los Angeles, CA 90024 Abstract Acyclic partitioning

More information

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Hiroyuki Higuchi Fabio Somenzi Fujitsu Laboratories Ltd. University of Colorado Kawasaki, Japan Boulder, CO Abstract This paper proposes

More information

Tree Structure and Algorithms for Physical Design

Tree Structure and Algorithms for Physical Design Tree Structure and Algorithms for Physical Design Chung Kuan Cheng, Ronald Graham, Ilgweon Kang, Dongwon Park and Xinyuan Wang CSE and ECE Departments UC San Diego Outline: Introduction Ancestor Trees

More information

On Resolution Proofs for Combinational Equivalence Checking

On Resolution Proofs for Combinational Equivalence Checking On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

Checking Equivalence for Circuits Containing Incompletely Specified Boxes

Checking Equivalence for Circuits Containing Incompletely Specified Boxes Freiburg, Germany, September 00 Checking Equivalence for Circuits Containing Incompletely Specified Boxes Christoph Scholl Bernd Becker Institute of Computer Science Albert Ludwigs University D 79110 Freiburg

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

A 16-BIT CORDIC ROTATOR FOR HIGH-SPEED WIRELESS LAN

A 16-BIT CORDIC ROTATOR FOR HIGH-SPEED WIRELESS LAN A 16-BIT CORDIC ROTATOR FOR HIGH-SPEED WIRELESS LAN Koushik Maharatna 1, Alfonso Troa, Swapna Banerjee 3, Eckhard Grass, Miloš Krsti 1 Dept. of EE, Universit of Bristol, UK, Koushik.Maharatna@bristol.ac.uk

More information

Simultaneous Logic Decomposition with Technology Mapping in FPGA Designs

Simultaneous Logic Decomposition with Technology Mapping in FPGA Designs Simultaneous Logic Decomposition with Technolog Mapping in FPGA Designs Gang Chen and Jason Cong Computer Science Department Universit of California, Los Angeles, CA 90095 {chg, cong}@cs.ucla.edu ABSTRACT

More information

Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths

Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths Shuo Zhou, Bo Yao, Hongyu Chen, Yi Zhu and Chung-Kuan Cheng University of California at San Diego La Jolla,

More information

Li Minqiang Institute of Systems Engineering Tianjin University, Tianjin , P.R. China

Li Minqiang Institute of Systems Engineering Tianjin University, Tianjin , P.R. China Multi-level Genetic Algorithm (MLGA) for the Construction of Clock Binary Tree Nan Guofang Tianjin University, Tianjin 07, gfnan@tju.edu.cn Li Minqiang Tianjin University, Tianjin 07, mqli@tju.edu.cn Kou

More information

On Resolution Proofs for Combinational Equivalence

On Resolution Proofs for Combinational Equivalence 33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs . FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles,

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

Formal Verification using Probabilistic Techniques

Formal Verification using Probabilistic Techniques Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se

More information

Application of Binary Decision Diagram in digital circuit analysis.

Application of Binary Decision Diagram in digital circuit analysis. Application of Binary Decision Diagram in digital circuit analysis. Jyoti Kukreja University of Southern California For Dr. James Ellison Abstract: Binary Decision Diagrams (BDDs) are one of the biggest

More information

A New Decomposition of Boolean Functions

A New Decomposition of Boolean Functions A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces

More information

state encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations

state encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations State minimization fewer states require fewer state bits fewer bits require fewer logic equations Encodings: state, inputs, outputs state encoding with fewer bits has fewer equations to implement however,

More information

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

General Purpose GPU Programming. Advanced Operating Systems Tutorial 7

General Purpose GPU Programming. Advanced Operating Systems Tutorial 7 General Purpose GPU Programming Advanced Operating Systems Tutorial 7 Tutorial Outline Review of lectured material Key points Discussion OpenCL Future directions 2 Review of Lectured Material Heterogeneous

More information

Incorporating the Controller Eects During Register Transfer Level. Synthesis. Champaka Ramachandran and Fadi J. Kurdahi

Incorporating the Controller Eects During Register Transfer Level. Synthesis. Champaka Ramachandran and Fadi J. Kurdahi Incorporating the Controller Eects During Register Transfer Level Synthesis Champaka Ramachandran and Fadi J. Kurdahi Department of Electrical & Computer Engineering, University of California, Irvine,

More information

General Purpose GPU Programming. Advanced Operating Systems Tutorial 9

General Purpose GPU Programming. Advanced Operating Systems Tutorial 9 General Purpose GPU Programming Advanced Operating Systems Tutorial 9 Tutorial Outline Review of lectured material Key points Discussion OpenCL Future directions 2 Review of Lectured Material Heterogeneous

More information

Disjunctive Image Computation for Embedded Software Verification

Disjunctive Image Computation for Embedded Software Verification Disjunctive Image Computation for Embedded Software Verification Chao Wang NEC Laboratories America Princeton, NJ, U.S.A. Zijiang Yang Western Michigan University Kalamazoo, MI, U.S.A. Franjo Ivančić,

More information

Symbolic Representation with Ordered Function Templates

Symbolic Representation with Ordered Function Templates Symbolic Representation with Ordered Function Templates Amit Goel Department of Electrical & Computer Engineering Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA. 15213 agoel@ece.cmu.edu Gagan

More information

Breakup Algorithm for Switching Circuit Simplifications

Breakup Algorithm for Switching Circuit Simplifications , No.1, PP. 1-11, 2016 Received on: 22.10.2016 Revised on: 27.11.2016 Breakup Algorithm for Switching Circuit Simplifications Sahadev Roy Dept. of ECE, NIT Arunachal Pradesh, Yupia, 791112, India e-mail:sdr.ece@nitap.in

More information

Fault-Tolerant Computing

Fault-Tolerant Computing Fault-Tolerant Computing Hardware Design Methods Nov 2007 Self-Checking Modules Slide 1 About This Presentation This presentation has been prepared for the graduate course ECE 257A (Fault-Tolerant Computing)

More information

Boolean Function Simplification

Boolean Function Simplification Universit of Wisconsin - Madison ECE/Comp Sci 352 Digital Sstems Fundamentals Charles R. Kime Section Fall 200 Chapter 2 Combinational Logic Circuits Part 5 Charles Kime & Thomas Kaminski Boolean Function

More information

Sequential Logic Rectifications with Approximate SPFDs

Sequential Logic Rectifications with Approximate SPFDs Sequential Logic Rectifications with Approximate SPFDs Yu-Shen Yang 1, Subarna Sinha, Andreas Veneris 1, Robert K. Brayton 3, and Duncan Smith 4 1 Dept. of ECE, University of Toronto, Toronto, Canada.

More information

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary

More information

Checking Satisfiability of a Conjunction of BDDs

Checking Satisfiability of a Conjunction of BDDs 48. Checking Satisfiability of a Conjunction of BDDs Robert Damiano Advanced Technology Group Synopsys, Inc. Hillsboro, OR robertd@synopsys.com James Kukula Advanced Technology Group Synopsys, Inc. Hillsboro,

More information

Taking One-to-one Mappings for Granted: Advanced Logic Design of Encoder Circuits

Taking One-to-one Mappings for Granted: Advanced Logic Design of Encoder Circuits Taking One-to-one Mappings for Granted: Advanced Logic Design of Encoder Circuits Alwin Zulehner Robert Wille,2 Institute for Integrated Circuits, Johannes Kepler University, Linz, Austria 2 Cyber-Physical

More information

Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs

Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown Department of Electrical and Computer Engineering, University of Toronto, Toronto,

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

Wojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA

Wojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA Interconnect Characteristics of 2.5-D System Integration Scheme Yangdong Deng Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213 412-268-5234

More information

Device And Architecture Co-Optimization for FPGA Power Reduction

Device And Architecture Co-Optimization for FPGA Power Reduction 54.2 Device And Architecture Co-Optimization for FPGA Power Reduction Lerong Cheng, Phoebe Wong, Fei Li, Yan Lin, and Lei He Electrical Engineering Department University of California, Los Angeles, CA

More information

Numerical Function Generators Using Edge-Valued Binary Decision Diagrams

Numerical Function Generators Using Edge-Valued Binary Decision Diagrams Numerical Function Generators Using Edge-Valued Binary Decision Diagrams Shinobu Nagayama Tsutomu Sasao Jon T. Butler Dept. of Computer Engineering, Dept. of Computer Science Dept. of Electrical and Computer

More information

Fast Boolean Matching for Small Practical Functions

Fast Boolean Matching for Small Practical Functions Fast Boolean Matching for Small Practical Functions Zheng Huang Lingli Wang Yakov Nasikovskiy Alan Mishchenko State Key Lab of ASIC and System Computer Science Department Department of EECS Fudan University,

More information

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs)

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Formal Verification Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Jacques Fleuriot jdf@inf.ac.uk Diagrams from Huth & Ryan, 2nd Ed. Recap Previously: CTL and LTL Model Checking algorithms

More information

New & Improved Models for SAT-Based Bi-Decomposition

New & Improved Models for SAT-Based Bi-Decomposition New & Improved Models for SAT-Based Bi-Decomposition Huan Chen Complex & Adaptive Systems Laboratory School of Computer Science and Informatics University College Dublin, Ireland huan.chen@ucd.ie Joao

More information

TEST FUNCTION SPECIFICATION IN SYNTHESIS

TEST FUNCTION SPECIFICATION IN SYNTHESIS TEST FUNCTION SPECIFICATION IN SYNTHESIS Vishwani D. Agrawal and Kwang-Ting Cbeng AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT - We present a new synthesis for testability method in which

More information

BOOLEAN FUNCTION DECOMPOSITION BASED ON FPGA BASIC CELL STRUCTURE

BOOLEAN FUNCTION DECOMPOSITION BASED ON FPGA BASIC CELL STRUCTURE BULETINUL INSTITUTULUI POLITEHNIC DIN IAŞI Publicat de Universitatea Tehnică Gheorghe Asachi din Iaşi Tomul LXI (LXV), Fasc. 1, 2015 SecŃia AUTOMATICĂ şi CALCULATOARE BOOLEAN FUNCTION DECOMPOSITION BASED

More information

A Fast Heuristic Algorithm for Disjoint Decomposition of Boolean Functions

A Fast Heuristic Algorithm for Disjoint Decomposition of Boolean Functions A Fast Heuristic Algorithm for Disjoint Decomposition of Boolean Functions Tomas Bengtsson 1 Andrés Martinelli 2 Elena Dubrova 2 1 Jönköping University, Embedded systems/ing, Jönköping, Sweden 2 Royal

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

An Approach for Integrating Basic Retiming and Software Pipelining

An Approach for Integrating Basic Retiming and Software Pipelining An Approach for Integrating Basic Retiming and Software Pipelining Noureddine Chabini Department of Electrical and Computer Engineering Royal Military College of Canada PB 7000 Station Forces Kingston

More information

Sequential Logic Synthesis Using Symbolic Bi-Decomposition

Sequential Logic Synthesis Using Symbolic Bi-Decomposition Sequential Logic Synthesis Using Symbolic Bi-Decomposition Victor N. Kravets IBM TJ Watson Research Center Yorktown Heights, NY Alan Mishchenko Department of EECS University of California, Berkeley kravets@us.ibm.com

More information

Chain Pattern Scheduling for nested loops

Chain Pattern Scheduling for nested loops Chain Pattern Scheduling for nested loops Florina Ciorba, Theodore Andronikos and George Papakonstantinou Computing Sstems Laborator, Computer Science Division, Department of Electrical and Computer Engineering,

More information

FROSTY: A Fast Hierarchy Extractor for Industrial CMOS Circuits *

FROSTY: A Fast Hierarchy Extractor for Industrial CMOS Circuits * FROSTY: A Fast Hierarchy Extractor for Industrial CMOS Circuits * Lei Yang and C.-J. Richard Shi Department of Electrical Engineering, University of Washington Seattle, WA 98195 {yanglei, cjshi@ee.washington.edu

More information

Chapter 2 Part 5 Combinational Logic Circuits

Chapter 2 Part 5 Combinational Logic Circuits Universit of Wisconsin - Madison ECE/Comp Sci 352 Digital Sstems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 2 Part 5 Combinational Logic Circuits Originals b: Charles R. Kime and Tom

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

Optimal Multi-Domain Clock Skew Scheduling

Optimal Multi-Domain Clock Skew Scheduling Optimal Multi-Domain Clock Skew Scheduling Li Li, Yinghai Lu, and Hai Zhou Department of Electrical Engineering and Computer Science Northwestern University Abstract Clock skew scheduling is an effective

More information

Design and Implementation of 3-D DWT for Video Processing Applications

Design and Implementation of 3-D DWT for Video Processing Applications Design and Implementation of 3-D DWT for Video Processing Applications P. Mohaniah 1, P. Sathyanarayana 2, A. S. Ram Kumar Reddy 3 & A. Vijayalakshmi 4 1 E.C.E, N.B.K.R.IST, Vidyanagar, 2 E.C.E, S.V University

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

IN general setting, a combinatorial network is

IN general setting, a combinatorial network is JOURNAL OF L A TEX CLASS FILES, VOL. 11, NO. 4, DECEMBER 2012 1 Clustering without replication: approximation and inapproximability Zola Donovan, Vahan Mkrtchyan, and K. Subramani, arxiv:1412.4051v1 [cs.ds]

More information

A Multi-Layer Router Utilizing Over-Cell Areas

A Multi-Layer Router Utilizing Over-Cell Areas A Multi-Layer Router Utilizing Over-Cell Areas Evagelos Katsadas and Edwin h e n Department of Electrical Engineering University of Rochester Rochester, New York 14627 ABSTRACT A new methodology is presented

More information