 Research
 Open Access
 Published:
On the inclusion of prime factors to calculate the theoretical lower bounds in multiplierless single constant multiplications
EURASIP Journal on Advances in Signal Processing volume 2014, Article number: 122 (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.
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
The main operation in SCM blocks, called Aoperation in [6], is defined as
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
Consider a given constant c whose MNSD, i.e., the number of digits obtained by representing c in canonic signed digit (CSD), is S(c). The lower bounds L_{ A } and L_{ d } for the Acost and the Adepth of the graph for c, respectively, are given in [12] as
where ⌈x⌉ is the nearest integer greater than or equal to x. Taking into account that the MNSD can be expressed as 2^{p – 1} < S(c) ≤ 2^{p} for all p ≥ 1 and p integer, we can note that all values S(c) in the range (2^{p – 1}, 2^{p}] yield the same L_{ A } and L_{ d } according to (2), with
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.
An important characteristic given in [12] and related to the graph structure presented in Figure 1, which will be called here the completely multiplicative (CM) graph, is that if S(c) = 2^{p} (the highest MNSD in the MNSDrange), the lower bound L_{ A } = p will be obtained only with a CM graph.
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
Let us start with the CMbased graph of Figure 2, which consists of the cascade of a subgraph H with p − l Aoperations and a CM subgraph with l Aoperations. This graph is exploited in [14] to obtain optimal multiplications by rational constants with periodic binary representations, and it has the following characteristics:

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.
Proof Let us review the simplest case p = 2. There are two possible graphs, one of them additive and the other one multiplicative, as shown in Figure 3 (see also Cost2 Graphs No. 1 and 2 of Appendix A of [13]). The highest MNSD of any NOF in both graphs is equal to 2. The last Aoperation of the nonmultiplicative graph only can add one nonzero digit to a constant, thus yielding OFs whose highest MNSD is 2^{p − 1} + 1 = 3 according to Observation A. The highest MNSD of any OF in the multiplicative graph is equal to 4 because both inputs to the last Aoperation can have up to 2 nonzero digits each. Thus, the case p = 2 is a base for the following inductive hypothesis: the highest MNSD of any OF in a nonmultiplicative graph with p Aoperations is equal to 2^{p − 1} + 1 for all p > 1. Assuming it as a true statement, let us construct a nonmultiplicative graph with p + 1 Aoperations, with the aim of obtaining an OF whose MNSD is n = 2^{p} + 2, i.e., the lowest MNSD that contradicts the hypothesis.
A nonmultiplicative graph with p operations cannot have the inputs of its last Aoperation (the Aoperation placed at the pth depth level) coming from the same position because an articulation point is generated and the graph becomes multiplicative (see Observation C). For the sake of clarity, let us identify the two inputs of the last Aoperation as a_{1} and a_{2}. Let us assume, without loss of generality, that a_{1} comes from the output of a subgraph G_{1}, as shown in Figure 4. This subgraph can be either nonmultiplicative or multiplicative (Figure 4a,b, respectively). In the following, we will review each of these two cases, along with the point where a_{2} can come from.
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.
Proof For the simplest case p = 2, there is only one graph with p + 1 = 3 Aoperations and Adepth preserved equal to p = 2. This graph is shown in Figure 5 (see also Cost3 Graph No. 7 of Appendix A of [13]). The highest MNSD of the OF in this graph is 3 × 2 ^{p − 2} + 1 = 4.
Now, we review the case p ≥ 3. Since the Adepth must be preserved equal to p, only p of these operations can be sequentially connected. Consider that a graph G_{1} with Acost and Adepth equal to p − 1 is connected to one of the inputs of the last Aoperation, as shown in Figure 6. In order to avoid an articulation point, the other input must come from a different position. Thus, this input is connected to the remaining Aoperation, which should be placed in the (p − 1)th depth level to obtain the highest possible MNSD (from Observation B), and whose inputs are identified as a_{1} and a_{2}. Consider that a_{1} comes from the Aoperation placed in the (p − 2)th depth level. Let us review the cases when G_{1} is either nonmultiplicative (Figure 6a) or multiplicative (Figure 6b), along with the point where a_{2} can come from.
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.
Proof Consider p + r Aoperations, with r < p. Since the Adepth is equal to p, only p of these operations can be sequentially connected. Let us assume that a graph G_{1} with Acost and Adepth equal to p − 1 is connected to one of the inputs of the last Aoperation, whereas the other input comes from a different position to avoid an articulation point. Consider that this input comes from a graph G_{2}, formed with r − 1 of the remaining Aoperations. To obtain the highest MNSD in G_{2}, we can consider that G_{2} is a CM graph with its last Aoperation placed at the (p − 1)th depth level. Let us assume that the last of the remaining Aoperations is connected to the input of G_{2}, with its inputs being a_{1} and a_{2}. This is shown in Figure 7. The highest MNSD of any OF from G_{2} is n_{2} = 2^{r − 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}.
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. ■
From Theorem 5 and substituting p using (3), the lower bound L_{ A } can be expressed as
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.
From Theorem 6, we have that if the Acost is given as N_{ A }≥ ⌈ log_{2}S(c)⌉ + q + 1 and if log_{2}{S(c) − 3 × 2 ${}^{\u2308{log}_{2}S\left(c\right)\u23092}$} + 2 − Ω(c) > q holds, the Adepth can be kept equal to ⌈ log_{2}S(c)⌉. By noticing that any real number a is greater than an integer b if this integer is given as b = ⌈a⌉ − 1 and applying this observation to q, we obtain q = $\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$ + 1. In this equality, the log_{2}{x} operation does not yield finite values when S(c) ≤ 3 × 2 ${}^{\u2308{log}_{2}S\left(c\right)\u23092}$ holds. However, according to Theorem 3, the Adepth can be kept equal to ⌈ log_{2}S(c)⌉ by using only one additional Aoperation if the condition S(c) ≤ 3 × 2 ${}^{\u2308{log}_{2}S\left(c\right)\u23092}$ + 1 holds. Therefore,
where L_{ EA }, the lower bound for the number of extra Aoperations required to generate NEFs and preserve L_{ d }= ⌈ log_{2}S(c)⌉, is given as
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.
The constant 11,467 is known to have an optimal Acost that does not exceed 4, as mentioned in [20]. A graph with four Aoperations that implements the multiplier by 11,467, based on the ‘Leapfrog’ Cost4 Graph No. 10 of Appendix A of [13], is shown in Figure 8.
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.
On the other hand, recall from [12] that it is always possible to find a solution with the lower bound L_{ d,c } given in (2), which in this case is L_{ d,c } = ⌈ log_{2}S(c)⌉ = ⌈ log_{2}(8)⌉ = 3. Figure 9 shows a graph that implements the multiplier by 11,467 with the minimum Adepth equal to 3 and five Aoperations, based on the ‘Leapfrog’ Cost5 Graph No. 14 of Appendix A of [13].
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.
It is clear that the proposed lower bounds are more informative in comparison to the lower bounds from [12]. Similar examples arise with the integer constants 11,093 and 13,003, among others. Finally, Table 1 shows the percentage of constants with improved lower bounds among all the 14bit odd integer constants and among 10,000 randomly generated constants that can be expressed with Bbits, where 14 < B ≤ 32.
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.
References
 1.
Dempster AG, Macleod MD: Constant integer multiplication using minimum adders. IEEE Proc. Circuits Devices Syst 1994, 141(5):407413. 10.1049/ipcds:19941191
 2.
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.466647
 3.
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.
 4.
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.
 5.
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/s0003400525055
 6.
Voronenko Y, Püschel M: Multiplierless multiple constant multiplication. ACM Trans. Algorithms 2007, 3(2):138.
 7.
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.
 8.
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.
 9.
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.
 10.
Thong J, Nicolici N: Timeefficient single constant multiplication based on overlapping digit patterns. IEEE Trans. VLSI Syst 2009, 17(9):13531357.
 11.
Thong J, Nicolici N: An optimal and practical approach to single constant multiplication. IEEE Trans. Comput. Aided Des 2011, 30(9):13731386.
 12.
Gustafsson O: Lower bounds for constant multiplication problems. IEEE Trans. Circ. Syst. II 2007, 54(11):974978.
 13.
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.
 14.
DeDinechin F: Multiplication by rational constants. IEEE Trans. Circ. Syst. II 2012, 59(2):98102.
 15.
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.009
 16.
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.
 17.
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.
 18.
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.
 19.
HungMin S, MuEn W, WeiChi T, Hinek MJ: Dual RSA and its security analysis. IEEE Trans. Inf. Theory 2007, 53(8):29222933.
 20.
MeyerBaese U: Digital Signal Processing with Field Programmable Gate Arrays. 3rd edition. New York: Springer; 2007. p. 85
 21.
MATLAB Central: File Exchange. . Accessed 07 Jul 2014 http://www.mathworks.co.jp/matlabcentral/fileexchange/9730canonicalsigneddigits/content/csdigit.m
Acknowledgements
This work has been supported by CONACYT Project No. 179587.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Troncoso Romero, D.E., MeyerBaese, U. & Dolecek, G.J. On the inclusion of prime factors to calculate the theoretical lower bounds in multiplierless single constant multiplications. EURASIP J. Adv. Signal Process. 2014, 122 (2014). https://doi.org/10.1186/168761802014122
Received:
Accepted:
Published:
Keywords
 Multiplierless
 Single constant multiplication (SCM)
 Canonic signed digit (CSD), Directed acyclic graph (DAG)
 Common subexpression elimination (CSE)
 Minimized adder graph (MAG)