 Research
 Open Access
On the inclusion of prime factors to calculate the theoretical lower bounds in multiplierless single constant multiplications
 David E Troncoso Romero^{1}Email author,
 Uwe MeyerBaese^{2} and
 Gordana Jovanovic Dolecek^{1}
https://doi.org/10.1186/168761802014122
© Troncoso Romero et al.; licensee Springer. 2014
 Received: 3 May 2014
 Accepted: 25 July 2014
 Published: 5 August 2014
Abstract
This paper presents an extension to the theoretical lower bounds for the number of adders and for the adder depth in multiplierless single constant multiplications (SCM). It is shown that the number of prime factors of the constants is key information to extend the current lower bounds in certain cases that have not yet been exposed. Additionally, the hidden theoretical lower bound for the number of adders required to preserve the minimum adder depth is revealed.
Keywords
 Multiplierless
 Single constant multiplication (SCM)
 Canonic signed digit (CSD), Directed acyclic graph (DAG)
 Common subexpression elimination (CSE)
 Minimized adder graph (MAG)
1 Introduction
Abundant research has been realized since the past two decades to solve single constant and multiple constant multiplication problems (SCM and MCM, respectively), where the hardware requirements can be reduced by exploiting the constant coefficient characteristics known a priori[1–18]. In these cases, multiplications are performed without using general multipliers and the unique arithmetic operations are additions and subtractions. In addition to these operations, only scaling by powers of two is allowed. These powers of two are implemented using hardwired shifts and therefore are considered with no cost.
Even though MCM and SCM problems are considered closely related, the latter constitutes the fundamental basis for all the constant multiplication problems and is usually solved by specialized, finetuned algorithms [1, 3–5, 9–11, 14]. The usual metric to minimize in the SCM algorithms has been the number of arithmetic operations needed to implement the constant multiplier. However, it has been reported that the number of sequentially connected arithmetic operations forming a critical path has the main negative impact in performance and power consumption [3, 7–9, 15–18]. This, currently, has led to substantial research activity targeting both, applicationspecific integrated circuits (ASICs) [15, 16] and fieldprogrammable gate arrays (FPGAs) [17, 18], where the minimization of the number of arithmetic operations subject to a minimum critical path is the ultimate goal.
Theoretical lower bounds for these two metrics in SCM, MCM, and other related problems have been derived in [12] based on a simple number that can be calculated in advance from the involved constants, namely, their minimum number of signed digits (MNSD). In [12], the theoretical lower bounds were first obtained for the simplest case of constant multiplications, namely, SCM, and then deduced for cases involving multiple constants. Nevertheless, the compromise between the number of arithmetic operations and the critical path was only mentioned and the theoretical lower bound for such compromise still remained hidden. It has been pointed out in literature that using the lowest critical path often results in higher performance and lower power consumption at expenses of increasing the number of arithmetic operations. Similarly, the minimization of the number of arithmetic operations may result in higher area saving at expenses of an increased critical path [3, 7–9, 15, 16].
This paper introduces the extension to the theoretical lower bounds given in [12] for the SCM case. This extension shows that these bounds can be increased in certain cases which have not been exposed in [12] by including the number of prime factors of the constants. Moreover, the theoretical lower bound for the number of arithmetic operations subject to the minimum critical path is revealed. With this, the preliminary estimation of how many extra arithmetic operations are needed to preserve the lowest critical path in a SCM block becomes possible.
This paper is organized as follows: Section 2 presents the key observations from [5] used in [12] as a starting point to develop the current theoretical lower bounds. Section 3 develops an analysis of these SCM lower bounds. From that analysis, in Section 4, we present a detailed development of new theorems that allow the extension of these lower bounds. Section 5 presents the comparison between the proposed lower bounds and the lower bounds from [12]. Finally, concluding remarks and future works are highlighted in Section 6.
2 Key observations for the current lower bounds
where e_{1} ≥ 0, e_{2} ≥ 0 are integers denoting left shifts, e_{3} ≥ 0 is an integer indicating right shift, e_{4}∈{0, 1} chooses the addition or subtraction operation to be performed, x = {e_{1}, e_{2}, e_{3}, e_{4}} is the parameter set or Aconfiguration of A_{ x }(u,v) and u, v, and w are positive and odd constants. As additions and subtractions have a similar complexity when it comes to hardware implementation, they are usually referred without distinction as Aoperations. An SCM block is designed as a network of Aoperations represented using directed acyclic graphs (DAGs) with the following characteristics [5, 12, 13]:

Shifts are assumed to be free. Additionally, the sign of the constants formed in the DAG is assumed to be adjusted at some part of the design. Therefore, only positive and odd integers are considered. These constants are known as fundamentals.

For a graph with n A operations, there are n + 1 vertices and n fundamentals. Every fundamental is obtained as a result of an A operation.

Each vertex has an indegree two except for the input vertex which has indegree zero.

A vertex with indegree two corresponds to an A operation.

Each vertex has outdegree larger than or equal to one except for the output vertex which has outdegree zero.

The constant resulting from the last Aoperation is known as output fundamental (OF), whereas the constants resulting from previous Aoperations are nonoutput fundamentals (NOFs). In a DAG that does not have the minimum number of Aoperations, the constants resulting from the extra Aoperations are referred as nonessential fundamentals (NEFs).
The number of A operations, N_{ A }, is frequently called adder cost. However, this value will be referred here as Acost for consistency. The number of cascaded A operations, N_{ d }, where the output of an A operation is at least one input of another A operation, is frequently called logic depth or adder depth and it will be referred here as Adepth.
The following observations from [5] relate the number of nonzero digits of a constant with its Adepth:

Observation A: The sum of two coefficients with k_{1}and k_{2}nonzero digits respectively, has at most k_{1}+ k_{2}nonzero digits.

Observation B: A multiplier graph with Adepth equal to N_{ d }can generate coefficients with at most 2^{ Nd }nonzero digits.
On the other hand, a multiplicative graph is the graph obtained by cascading two subgraphs such that the resulting OF is a product of the OFs of the two subgraphs (classification of graph structures is detailed in [5] and extended in [13]). An articulation point is the point where the output of the first subgraph is joined with the input of the second subgraph. Since in DAGs the Aoperations become nodes, the Aoperation whose output is an articulation point can be also referred as an articulation point.

Observation C: If a graph has an articulation point, the graph is multiplicative.
Proofs and more details of these observations can be found in [5].
3 Analysis of the current lower bounds
We will refer to the range (2^{p – 1}, 2^{ p }] as MNSDrange. Note that the function S(c) is the unique information taken from the constants and used in [12] to derive the current lower bounds for constant multiplication problems.
Is always possible to find a solution with the lower bound L_{ d } because the coefficient c can be implemented by summing all its nonzero terms using Aoperations arranged in binary tree [12]. Nevertheless, the lower bounds given in (2) do not make any distinction among the constants that have their MNSD included into the MNSDrange.
4 Extension of the current lower bounds
 1)
At the output of every Aoperation of the CM subgraph, the MNSD of the resulting constant is at most twice the MNSD of the constant at its inputs, according to Observation A. If the MNSD at the output of the subgraph H, denoted by n _{ H }, is the highest possible in H, the maximum resulting MNSD at the overall graph is 2^{ l } × n _{ H }.
 2)
If H has the minimum Adepth, the overall graph has the minimum Adepth because the CM subgraph has also the minimum Adepth. The same holds for the Acost.
 3)
If H is nonmultiplicative, the CMbased graph has l articulation points formed with the minimum Acost and Adepth and clustered in the higher depth levels. Thus, this graph has the highest MNSD in its first articulation point in comparison to any other graph with l articulation points. Moreover, it can have the maximum MNSD with respect to other graphs with l articulation points.
Due to their aforementioned characteristics, CMbased graphs will be analyzed in the following to show that the graph of a constant whose MNSD is given in specific intervals into the MNSDrange requires certain multiplicative characteristics to preserve the lower bound L_{ A }. It shall be considered henceforth that the MNSD is given in the MNSDrange (2^{p − 1}, 2^{ p }] with p > 1, since L_{ A } = L_{ d } = 1 for S(c) = 2 (i.e., when p = 1).
Theorem 1 A constant c whose MNSD is S(c) > 2^{ p − 1 } + 1 cannot be obtained with a nonmultiplicative graph with p Aoperations.
If G_{1} is nonmultiplicative (Figure 4a), the highest MNSD of any of its OFs is n_{1} = 2^{p − 1} + 1 (this follows from the inductive hypothesis). For the overall graph, the only way to obtain an OF whose MNSD is n = 2^{ p } + 2 is having a_{2} coming from an Aoperation that produces constants with an MNSD at least equal to n − n_{1} = 2^{p − 1} + 1. From Observation B, we have that this MNSD can be obtained only from the pth Aoperation, which means that a_{1} and a_{2} would be coming from the same Aoperation, generating an articulation point. If a_{2} comes from the (p − 1)th Aoperation, the articulation point is avoided and the whole graph can still be nonmultiplicative. However, the highest MNSD of a constant generated from the (p − 1)th Aoperation is equal to 2^{p − 1} (see Observation B) and thus the highest MNSD of the OF in the overall graph is equal to n_{1} + 2^{p − 1} = 2^{p − 1} + 1 + 2^{p − 1} = 2^{ p } + 1.
If G_{1} is multiplicative (Figure 4b), it can have l articulation points where 1 ≤ l ≤ p − 2. With l articulation points and p operations, the highest MNSD of any OF produced by G_{1} is n_{1} = 2^{ l } × (2^{p − l − 1} + 1). This follows from the assumption that G_{1} is a CMbased graph and from the inductive hypothesis. In order to obtain an OF whose MNSD is n = 2^{ p } + 2, a_{2} must come from an Aoperation that produces constants with an MNSD at least equal to n − n_{1} = 2^{p − 1} − 2^{ l } + 2. Moreover, such Aoperation must be placed at a depth level less than the depth level where the first articulation point is placed; otherwise this articulation point will make the whole graph multiplicative. Since G_{1} has its first articulation point at a depth level equal to p − l, a_{2} must come from an Aoperation placed in a depth level that does not exceed p − l − 1. The highest MNSD of any NOF obtained from an Aoperation placed in the (p − l − 1)th depth level is 2^{p − l − 1} (from Observation B). Hence, this value should be equal or greater than n − n_{1} = 2^{p − 1}− 2^{ l } + 2 in order to obtain an OF in the overall graph whose MNSD is n = 2^{ p } + 2. However, it can be shown that 2^{p − l − 1} < 2^{p − 1}− 2^{ l } + 2 holds. Thus, the highest MNSD of any OF in the overall graph is equal to n_{1} + 2^{p − l − 1} = 2^{ l } × (2^{p − l − 1} + 1) + 2^{p − l − 1} ≤ 2^{ p } + 1.
As a result, we have that the inductive hypothesis for a graph with p Aoperations implies that it holds for p + 1 Aoperations. Therefore, considering this implication along with the base case with p = 2, we prove Theorem 1 by induction on p. ■
Theorem 2 A constant c whose MNSD is S(c) > 2 ^{ p − 1 } + 2 ^{ q − 1 } with q = {1, 2,…, (p − 1)} can be obtained by using a graph with p Aoperations only if at least q of these operations are articulation points.
Proof Consider that the overall graph is a CMbased graph with l articulation points, where l < p. The highest MNSD of any OF in the overall graph is n = 2^{ l } × (2^{p − l − 1} + 1) = 2^{p − 1} + 2^{ l } (from Theorem 1). Therefore, l has to be at least equal to q in order to achieve n > 2^{p − 1} + 2^{q − 1}. Note that Theorem 1 corresponds to the case q = 1. ■
Theorem 3 A constant c whose MNSD is S(c) > 3 × 2^{ p − 2 } + 1 cannot be obtained by using a nonmultiplicative graph with only p + 1 Aoperations and Adepth preserved equal to p.
If G_{1} is nonmultiplicative (Figure 6a), the highest MNSD of its OFs is n_{1} = 2^{p − 2} + 1 (from Theorem 1) and a_{1} with a_{2} can come from the Aoperation placed in the (p − 2)th level. Thus, the highest possible MNSD of the OF in the last Aoperation is n = n_{1} + n_{a 1} + n_{a 2}, where n_{a 1} and n_{a 2} are the respective highest MNSD in a_{1} and a_{2}. The highest MNSD of G_{1} is n_{1} = 2^{p − 2} + 1 and n_{a 1} = n_{a 2} = 2^{p − 2}. Therefore, we have n = (2^{p − 2} + 1) + 2^{p − 2} + 2^{p − 2} = 2^{p − 2} + 1 + 2^{p − 1} = 3 × 2^{p − 2} + 1.
If G_{1} is multiplicative (Figure 6b), consider that it is a CMbased graph with l articulation points, where 1 ≤ l ≤ p − 2. The highest MNSD of its OFs is n_{1} = 2^{ l } × (2^{p − l − 2} + 1). Similarly, the highest MNSD in a_{1} is n_{a 1} = 2^{l − 1} × (2^{p − l − 2} + 1). To avoid an articulation point, a_{2} must come from a depth level that does not exceed p − l − 2, thus n_{a 2} = 2^{p − l − 2}. The highest possible MNSD of the OFs in the last Aoperation is n = n_{1} + n_{a 1} + n_{a 2} = 2^{p − 2} + 2^{p − 3} + 2^{ l } + 2^{l − 1} + 2^{p − l − 2}, which can be shown to be less or equal to 3 × 2^{p − 2} + 1. ■
Theorem 4 A constant c whose MNSD is S(c) > 3 × 2^{p − 2}+ 2^{q − 1}with q = {1, 2,…, (p − 2)} can be obtained by using a nonmultiplicative graph whose Adepth is equal to p only if at least p + q + 1 Aoperations are used.
If G_{1} is nonmultiplicative (Figure 7a), the highest MNSD of its OFs is n_{1} = 2^{p − 2} + 1 (from Theorem 1). Both inputs a_{1} and a_{2} can come from the same point because G_{1} is nonmultiplicative, and the highest depth level where this point can be placed is p − r − 1; thus, n_{a 1} = n_{a 2} = 2^{p − r − 1}. Hence, the highest MNSD of any OF in the overall graph is n = n_{1} + n_{2} = (2^{p − 2} + 1) + 2^{r − 1} × (n_{a 1} + n_{a 2}) = (2^{p − 2} + 1) + 2^{r − 1} × (2^{p − r}) = (2^{p − 2} + 1) + 2^{p − 1} = 3 × 2^{p − 2} + 1, which clearly is less or equal than 3 × 2^{p − 2} + 2^{q − 1} even for the smallest q = 1.
If G_{1} is multiplicative, consider that it is a CMbased graph with l articulation points, where 1 ≤ l ≤ p − 2. The highest MNSD of its OFs is n_{1} = 2^{ l } × (2^{p − l − 2} + 1). We can have two cases, depending on whether r is greater than l or not. Let us see each one of these cases.
When r ≤ l (Figure 7b), only either a_{1} or a_{2} can come from the Aoperation placed in the (p − l − 1)th depth level but not both, because an articulation point would be generated. If a_{1} comes from this Aoperation, a_{2} can come from the immediate lower depth level. Thus, n_{a 1} = (2^{p − l − 2} + 1) and n_{a 2} = 2^{p − l − 2}. Hence, the highest MNSD of any OF in the overall graph is n = n_{1} + n_{2} = (2^{p − 2} + 2^{ l }) + 2^{r − 1} × (n_{a 1} + n_{a 2}) = (2^{p − 2} + 2^{ l }) + 2^{r − 1} × [(2^{p − l − 2} + 1) + 2^{p − l − 2}] = 2^{p − 2} + 2^{ l } + 2^{r − 1} × (2^{p − l − 1} + 1), which can be shown to be less or equal to 3 × 2^{p − 2} + 2^{r − 1}. Thus, r must be at least equal to q + 1 in order to achieve a value n > 3 × 2^{p − 2} + 2^{q − 1}.
When r > l (Figure 7c), a_{1} and a_{2} can come from the same point because the subgraph H in G_{1} is nonmultiplicative, thus n_{a 1} = n_{a 2} = 2^{p − r − 1}. Hence, the highest MNSD of any OF in the overall graph is n = n_{1} + n_{2} = (2^{p − 2} + 2^{ l }) + 2^{r − 1} × (n_{a 1} + n_{a 2}) = (2^{p − 2} + 2^{ l }) + 2^{r − 1} × (2^{p − r}) = 2^{p − 2} + 2^{ l } + 2^{p − 1} = 3 × 2^{p − 2}+ 2^{ l }. Since l is at most equal to r − 1, we have that the highest value for n is n = 3 × 2^{p − 2} + 2^{r − 1}. Thus, n > 3 × 2^{p − 2} + 2^{q − 1} holds only if r is at least equal to q + 1. ■
Now, let us introduce the number of prime factors of the constant c, denoted as Ω(c). Note that, along with S(c), Ω(c) is a function that can be known a priori from the constants. Generally speaking, obtaining the prime factors of c is a challenging problem for very large constants (over 110 digits) and it is one of the bases for the RivestShamirAdleman (RSA) encryption scheme [19]. However, for constants up to 32 bits, which cover the DSP problem sizes of the most practical importance [14], the prime factors of c can be obtained straightforwardly even with the simple sieve approach, such as the one used in the MATLAB function ‘factor’.
The following theorems present the relations between the values Ω(c) and S(c). If the required multiplicative characteristics for the corresponding graph of the constant c, highlighted in the previous theorems, cannot be accomplished due to the value Ω(c), the lower bounds for the Acost and the Adepth are affected.
Theorem 5 A constant c whose MNSD is S(c) > 2 ^{ p − 1 } + 2 ^{ Ω(c) − 1 } only can be obtained by using a graph with at least p + 1 Aoperations.
Proof From Theorem 2, it is known that at least Ω(c) articulation points are required if only p Aoperations can be used. However, since Ω(c) is the number of prime factors, only up to Ω(c) − 1 articulation points are allowed. Thus, the only solution is using an additional Aoperation. By adding one more Aoperation, the overall nonmultiplicative graph can give an OF whose MNSD is up to 2^{ p } + 1, which covers the MNSDrange regardless of the value Ω(c). Therefore, at least p + 1 Aoperations are required. ■
Theorem 6 A constant c whose MNSD is S(c) > 3 × 2^{p − 2}+ 2^{Ω(c) + q − 2}with q = {1, 2,…, (p − Ω(c) − 1)} only can be obtained by using a graph with Adepth at least equal to p + 1 if up to p + q Aoperations are used, or with at least p + q + 1 Aoperations if the minimum Adepth equal to p is preserved.
Proof Let us consider a CMbased graph with p + r Aoperations and Adepth equal to p + s, where r < p and s ≥ 0. Since at most Ω(c) − 1 articulation points can be used, its CM subgraph has Ω(c) − 1 Aoperations, whereas its nonmultiplicative subgraph H has p + r − Ω(c) + 1 Aoperations and an Adepth equal to p + s − Ω(c) + 1. According to Theorem 4, the highest MNSD of any OF generated in the subgraph H is 3 × 2^{p + s − Ω(c) − 1} + 2^{r − s − 1} and the highest MNSD at the output of the overall graph is n = 2^{Ω(c) − 1} × (3 × 2^{p + s–Ω(c) − 1} + 2^{r − s − 1}) = 3 × 2^{p + s − 2} + 2^{Ω(c)+r − s − 2}. If the Adepth is preserved equal to p, we have s = 0. In such case r needs to be at least equal to q + 1 in order to achieve n > 3 × 2^{p − 2} + 2^{Ω(c) + q − 2}. On the other hand, if r ≤ q holds, the value s should be at least equal to 1 in order to achieve n > 3 × 2^{p − 2} + 2^{Ω(c) + q − 2}, implying that the Adepth of the overall graph is at least equal to p + 1. ■
Note that if L_{ A } = ⌈ log_{2}S(c)⌉ holds, L_{ d } will have the same value as L_{ A } without requiring any additional Aoperation (as given by (2)). From (4), we can see that this only can be accomplished if Ω(c) ≥ log_{2}{S(c) − 2${}^{\u2308{log}_{2}S\left(c\right)\u23091}$} + 1 holds. The argument S(c) − 2${}^{\u2308{log}_{2}S\left(c\right)\u23091}$ in the log_{2}{x} operation is always greater than zero and therefore the condition can always be evaluated.
It is worth highlighting that, whereas the lower bound L_{ A } only depends on the relation between Ω(c) and S(c), the lower bound L_{ d } depends on the Acost N_{ A }. As pointed out in [12], for many problem instances, there is a tradeoff between the Acost and the Adepth. From (5), we have that such tradeoff is the minimum theoretical value L_{ EA }, given in (6).
5 Comparison of proposed and current lower bounds
Let us review a simple example to illustrate how the proposed lower bounds given in (4) and (5)(6) are more precise with respect to the lower bounds from [12], expressed in (2). To this end, consider the 14bit integer constant 11,467, whose binary representation is 10110011001011. Its CSD representation is $10\overline{1}0\overline{1}010\overline{1}010\overline{1}0\overline{1}$, which can be found from the binary representation by iteratively replacing every string having n ≥ 2 consecutive digits ‘1’ (e.g., 1111, where n = 4) with the string having n − 1 digits ‘0’ between a digit ‘1’ and a digit ‘$\overline{1}$’, (e.g., $1000\overline{1}$, where n = 4; see [20] for more details). A MATLAB routine to find the CSD representation of an integer is given in [21].
Recall that the value S(c) represents the number of nonzero digits of a minimum signed digit (MSD) representation (such as CSD) of the constant c. Hence, it is clear from the CSD representation of the constant c = 11,467 that S(c) = 8, i.e., there are eight nonzero digits in that representation. Note in passing that, in this particular example, the number of nonzero digits is the same for both, CSD and binary representations. However, this not always occurs. Additionally, we can obtain Ω(c), the number of prime factors of the constant c, using the MATLAB command ‘length(factor(c))’. For the constant c = 11,467, we have Ω(c) = 1, which indicates that 11,467 is a prime number.
Let us denote the current lower bounds from [12] as L_{A,c} for the Acost and L_{d,c} for the Adepth, which can be obtained using (2). Similarly, we will denote the new lower bounds as L_{A,new} for the Acost and L_{d,new} for the Adepth, which can be obtained using (4) and (5)(6), respectively. All these lower bounds will be calculated by substituting c = 11,467.
The value S(c) = 8 replaced in (2) yields L_{ A,c } = ⌈ log_{2}S(c)⌉ = ⌈ log_{2}(8)⌉ = 3. However, besides of S(c) = 8, we also have Ω(c) = 1 as additional information for the new lower bounds. Using S(c) and Ω(c) in (4), we have that the condition $\Omega \left(c\right)\ge {log}_{2}\left\{S\left(c\right){2}^{\u2308{log}_{2}S\left(c\right)\u23091}\right\}+1$ does not hold (in other words, $1\ge {log}_{2}\left(8{2}^{\u2308{log}_{2}\left(8\right)\u23091}\right)+1$ is a false statement). Therefore, according to (4), the new lower bound for the Acost of this constant is L_{A, new} = ⌈ log_{2}S(c)⌉ + 1 = ⌈ log_{2}(8)⌉ + 1 = 4. This new lower bound reveals that the solution with Acost equal to 4, whose graph is presented in Figure 8, is in fact optimal in terms of the Acost.
Since we have L_{ A,c } = L_{ d,c } = 3, with the current lower bounds one can assume that the three Aoperations necessary to meet the minimum Adepth might be sufficient to implement the constant multiplier by 11,467. However, from (5) we have that the lower bound L_{d, new} = ⌈ log_{2}S(c)⌉ = ⌈ log_{2}(8)⌉ = 3 can be preserved if at least L_{ EA } extra Aoperations are used in addition to the three Aoperations dictated by the bound L_{ d,new } = 3. The value for L_{ EA } is obtained using (6), where the conditions $\Omega \left(c\right)\ge {log}_{2}\left\{S\left(c\right){2}^{\u2308{log}_{2}S\left(c\right)\u23091}\right\}+1$ and $S\left(c\right)\le 3\times {2}^{\u2308{log}_{2}S\left(c\right)\u23092}+1$ do not hold (in other words, $1\ge {log}_{2}\left\{8{2}^{\u2308{log}_{2}\left(8\right)\u23091}\right\}+1$ and $8\le 3\times {2}^{\u2308{log}_{2}\left(8\right)\u23092}+1$ are false statements), leading to L_{ EA } = $\u2308{log}_{2}\left\{S\left(c\right)3\times {2}^{\u2308{log}_{2}S\left(c\right)\u23092}\right\}+2\Omega \left(c\right)\u2309$ = $\u2308{log}_{2}\left\{83\times {2}^{\u2308{log}_{2}\left(8\right)\u23092}\right\}+21\u2309$ = 2. This means that three Aoperations are actually not sufficient to preserve the minimum Adepth and at least five Aoperations are required. Thus, the solution with Acost equal to 5 and Adepth equal to 3, whose graph is presented in Figure 9, is in fact optimal in terms of the Acost subject to the minimum Adepth.
Percentage of constants with improved lower bounds
Word length  Total  L_{ EA } = 1  L_{ EA } = 2  L_{ EA } = 3 

(B = 14)bits  19.6%  19.4%  0.2%  0% 
(14 < B ≤ 32)bits  33.36%  32.08%  1.14%  0.14% 
6 Conclusions
This paper has presented an extension of the current theoretical lower bounds for the Acost and the Adepth in single constant multiplication (SCM) blocks constructed with shifts and Aoperations (additions and subtractions). The insight of this work has been the introduction of the number of prime factors of the constant as key information to such extension.
Additionally, a new lower bound has been revealed, namely, the theoretical minimum number of Aoperations required to preserve the minimum Adepth, denoted as L_{ EA }. This new lower bound is essential because preserving the minimum Adepth has been currently an important objective to design systems with high speed and low power. By knowing L_{ EA } it is possible to have an early estimation of how many extra adders would be needed for a given implementation with the lowest Adepth, which is translated to extra chip area. Since for current and future semiconductor technologies leakage power consumption is closely related to chip area and it has a significant impact, the value L_{ EA } might provide valuable information to decide in an early stage of design if it is better to pursue a minimization of the Acost subject to the minimum Adepth or minimize the Acost subject to a given Adepth greater than the minimum.
As a future work, the current theoretical lower bounds for multiple constant multiplication (MCM) cases can be also extended. The proposed theorems and the extended lower bounds can be used as a basis, and the inclusion of the number of prime factors of the involved constants might, of course, play an important role as it did in this work. The theoretical lower bound for the Acost required when the minimum Adepth is preserved, as well as the lower bound for the Adepth necessary to obtain the minimum Acost, can be revealed. Additionally, the formulation of optimal and a suboptimal SCM and MCM algorithms to minimize the Acost subject to the minimum Adepth can be developed, taking as a basis the theorems developed in this work, where the prime factors of the involved constants can be used as input information.
Declarations
Acknowledgements
This work has been supported by CONACYT Project No. 179587.
Authors’ Affiliations
References
 Dempster AG, Macleod MD: Constant integer multiplication using minimum adders. IEEE Proc. Circuits Devices Syst 1994, 141(5):407413. 10.1049/ipcds:19941191View ArticleMATHGoogle Scholar
 Dempster AG, Macleod MD: Use of minimumadder multiplier blocks in FIR digital filters. IEEE Trans. Circ. Syst. II 1995, 42(9):569577. 10.1109/82.466647View ArticleMATHGoogle Scholar
 Dempster AG, Dimirsoy SS, Kale I: Designing multiplier blocks with low logic depth, in Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS 2002), vol. 5. Piscataway: IEEE; 2002:773776.Google Scholar
 Gustafsson O, Dempster AG, Wanhammar L: Extended results for minimumadder constant integer multipliers. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS 2002) vol. 1. Piscataway: IEEE; 2002:7376.Google Scholar
 Gustafsson O, Dempster AG, Johansson K, Macleod MD, Wanhammar L: Simplified design of constant coefficient multipliers. Circ. Syst. Signal Process 2006, 25(2):225251. 10.1007/s0003400525055MathSciNetView ArticleMATHGoogle Scholar
 Voronenko Y, Püschel M: Multiplierless multiple constant multiplication. ACM Trans. Algorithms 2007, 3(2):138.View ArticleGoogle Scholar
 Faust M, ChipHong C: Minimal logic depth adder tree optimization for multiple constant multiplication. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS 2010). Paris; 2010:457460.View ArticleGoogle Scholar
 Johansson K, Gustafsson O, DeBrunner LS, Wanhammar L: Minimum adder depth multiple constant multiplication algorithm for low power FIR filters. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS 2011). Rio de Janeiro; 2011:14391442.View ArticleGoogle Scholar
 Dempster AG, Macleod MD: Using all signeddigit representations to design single integer multipliers using subexpression elimination. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS 2004) vol. 3. Piscataway: IEEE; 2004:165168.Google Scholar
 Thong J, Nicolici N: Timeefficient single constant multiplication based on overlapping digit patterns. IEEE Trans. VLSI Syst 2009, 17(9):13531357.View ArticleGoogle Scholar
 Thong J, Nicolici N: An optimal and practical approach to single constant multiplication. IEEE Trans. Comput. Aided Des 2011, 30(9):13731386.View ArticleGoogle Scholar
 Gustafsson O: Lower bounds for constant multiplication problems. IEEE Trans. Circ. Syst. II 2007, 54(11):974978.View ArticleGoogle Scholar
 MeyerBaese U, Gustafsson O, Dempster A: The canonical minimised adder graph representation. In Proceedings of the SPIE 2008, Independent Component Analyses, Wavelets, Unsupervised NanoBiomimetic Sensors, and Neural Networks VI, vol. 6979. SPIE; 2008:112.Google Scholar
 DeDinechin F: Multiplication by rational constants. IEEE Trans. Circ. Syst. II 2012, 59(2):98102.View ArticleGoogle Scholar
 Aksoy L, Costa E, Flores P, Monteiro J: Finding the optimal tradeoff between area and delay in multiple constant multiplications. Elsevier J. Microprocessors Microsystems 2011, 35(8):729741. 10.1016/j.micpro.2011.08.009View ArticleGoogle Scholar
 Pan Y, Meher PK: Bitlevel optimization of adder trees for multiple constant multiplications for efficient FIR filter implementation. IEEE Trans. Circ. Syst. I 2014, 61(2):455462.Google Scholar
 Mirzaei S, Kastner R, Hosangadi A: Layout aware optimization of high speed fixed coefficient FIR filters for FPGAs. Int. J. Reconfigurable Comput 2010, 4(1):117.View ArticleGoogle Scholar
 Martin K, Martin H, Jens W, Peter Z, Uwe MB: Multiple constant multiplication with ternary adders. In Proceedings of the 23rd International Conference on Field Programmable Logic and Applications FPL 2013. Porto; 2013:18.View ArticleGoogle Scholar
 HungMin S, MuEn W, WeiChi T, Hinek MJ: Dual RSA and its security analysis. IEEE Trans. Inf. Theory 2007, 53(8):29222933.View ArticleGoogle Scholar
 MeyerBaese U: Digital Signal Processing with Field Programmable Gate Arrays. 3rd edition. New York: Springer; 2007. p. 85Google Scholar
 MATLAB Central: File Exchange. . Accessed 07 Jul 2014 http://www.mathworks.co.jp/matlabcentral/fileexchange/9730canonicalsigneddigits/content/csdigit.m
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.