## Efficient substitution of multiple constant multiplications by shifts and additions using iterative pairwise matching. Design Automation Conference (1994)

Citations: | 16 - 3 self |

### BibTeX

@MISC{Potkonjak94efficientsubstitution,

author = {Miodrag Potkonjak and Mani B. Srivastava and Anantha Chandrakasan},

title = {Efficient substitution of multiple constant multiplications by shifts and additions using iterative pairwise matching. Design Automation Conference},

year = {1994}

}

### Years of Citing Articles

### OpenURL

### Abstract

Many numerically intensive applications have computations that involve a large number of multiplications of one variable with several constants. A proper optimization of this part of the computation, which we call the multiple constant multiplication (MCM) problem, often results in a significant improvement in several key design metrics. After defining the MCM problem, we formulate it as a special case of common subexpression elimination. The algorithm for common subexpression elimination is based on an iterative pairwise matching heuristic. The flexibility of the MCM problem formulation enables the application of the iterative pairwise matching algorithm to several other important high

### Citations

725 |
The Art of Computer Programming, Volume 2, Seminumerical Algorithms (Third Edition
- Knuth
- 1998
(Show Context)
Citation Context ... that of computing a constant power of a variable by using only multiplications. A lucid treatment of techniques for this problem, covering work dating as far back as two millennia, was done by Knuth =-=[Knu81]-=-. 3.0 Problem Formulation and Examples The examples shown in Figure 1 a-c introduce the multiple constant multiplication problem (MCM). Suppose the goal is to implement the computation in Figure 1a, u... |

110 |
Fast prototyping of data path intensive architectures
- Rabaey, Chu, et al.
- 1992
(Show Context)
Citation Context ...d in DSP to reduce the number of shifts and additions after a multiplication with a constant is replaced by shifts and additions. The CSD representation is also sometimes used in high level synthesis =-=[Rab91]-=-. Algorithms for optimizing the number of shifts and additions have also been described in the software compiler research [Ber86]. The minimization of number of shifts is also a well studied topic in ... |

88 | Binary arithmetic - Reitwiesner - 1960 |

72 |
Leiserson C, Rivest R: Introduction to algorithms The
- Cormen
(Show Context)
Citation Context ...rsive bipartite matching will match at each level all constants in pairs, so that the payoff is maximized for each single level. There are a number of very efficient algorithms for bipartite matching =-=[Cor90]-=-. However, this approach has several serious drawbacks, the most important of which is illustrated by the following example. Suppose that one needs to multiply a variable X with constants a, b and c, ... |

70 |
Hyperlp: A system for power minimization using architectural transformations
- Chandrakasan, Potkonjak, et al.
- 1992
(Show Context)
Citation Context ...n of multiplication with a single constant has for a long time been recognized as being important for compilers and high level synthesis systems. It has been used for improving area [Cha93] and power =-=[Cha92]-=-. In ASICs as well as many microprocessors, it is significantly less expensive to do additions, subtractions and shifts, than it is to do a multiplication. The importance of multiplication with consta... |

59 | A Survey of High-Level Synthesis Systems - Walker, Camposano - 1991 |

53 | Behavioral transformation for algorithmic level IC design - Walker, Thomas - 1989 |

14 |
Error-Correcting Coding Theory
- Rhee
(Show Context)
Citation Context ...ctor of k encoded bits, d is vector of m information bits, and G is m X k matrix, which describes the used encoding algorithm. Figure 5 shows the matrix G for the second-order (16,11) ReedMuller code =-=[Rhe89]-=-. The analogy with the MCM transform is apparent. If the columns of matrix G are interpreted as the elements of the set of constants, the minimization of addition to produce the set of constants (6553... |

4 |
Jr.: “Crafting a Compiler
- Fischer, LeBlanc
- 1991
(Show Context)
Citation Context ...on in the high level synthesis community [Wal89, Rab91, Wal91, Ku92]. Transformations have also been studied in areas such as algorithm design for numerical and DSP applications [Bla85] and compilers =-=[Fis91]-=-.The main technical novelty of this use of transformations in high level synthesis has been the development of powerful optimization algorithms to apply these transformations. The exceptional ability ... |

2 |
Multiplication by Integer Constants”, Software
- Bernstein
- 1986
(Show Context)
Citation Context ... The CSD representation is also sometimes used in high level synthesis [Rab91]. Algorithms for optimizing the number of shifts and additions have also been described in the software compiler research =-=[Ber86]-=-. The minimization of number of shifts is also a well studied topic in DSP, in particular in the digital filter design community [Cat88]. While minimizing the number of shifts required for multiplicat... |

2 |
Blahut: “Fast Algorithms for Digital Signal Processing
- E
- 1985
(Show Context)
Citation Context ...attracted much attention in the high level synthesis community [Wal89, Rab91, Wal91, Ku92]. Transformations have also been studied in areas such as algorithm design for numerical and DSP applications =-=[Bla85]-=- and compilers [Fis91].The main technical novelty of this use of transformations in high level synthesis has been the development of powerful optimization algorithms to apply these transformations. Th... |

2 |
d’Abreu: “Greedy hardware optimization for linear digital systems using number splitting and repeated factorization
- Chatterje, Roy, et al.
- 1993
(Show Context)
Citation Context ...ously. Optimization of multiplication with a single constant has for a long time been recognized as being important for compilers and high level synthesis systems. It has been used for improving area =-=[Cha93]-=- and power [Cha92]. In ASICs as well as many microprocessors, it is significantly less expensive to do additions, subtractions and shifts, than it is to do a multiplication. The importance of multipli... |

1 |
al.: “SAMURAI: a General and Efficient Simulated Annealing Schedule with Fully Adaptive Annealing
- Catthoor, et
- 1988
(Show Context)
Citation Context ...ions have also been described in the software compiler research [Ber86]. The minimization of number of shifts is also a well studied topic in DSP, in particular in the digital filter design community =-=[Cat88]-=-. While minimizing the number of shifts required for multiplication with a constant is a thoroughly studied, not much attention has been paid to the simultaneous optimization of the multiplication of ... |

1 | G.De Micheli: “Constrained Synthesis and Optimization of Digital Circuits from Behavioral Specifications - Ku - 1992 |