## 3 Proposed Multi-Modulus Multiplier Based on Radix-8 Booth Encoding
### Proposed Multi-Modulus Hard Multiple Generator  
In this subsection, the modified multi-modulus HMG for the modulo (\(2^{n}-1\)), modulo (\(2^{n}\)), and modulo (\(2^{n}+1\)) multiplier operations is discussed. The proposed structure of radix-8 multi-modulus HMG (\(n=8\)) is designed as shown in Figure 2. The proposed structure includes a GP**P** block, DH block, SM1, SM2, prefix operator unit (grey circle), and post-processing unit (grey square, white square, grey diamond, and white diamond). In Figures 3 and 4, SM1 and SM2 refer to the special multiplexer 1 and special multiplexer 2, respectively. These blocks are used to generate different input signals from the multi-modulus by selecting (S1, S0). Figure 1: Block diagram of the proposed multi-modulus multiplier. In the block diagram of the \(GP^{**}P^{*}\) function, \(X_{i}\) is the input of the multiplicand, \(G_{i}^{*}\) and \(P_{i}^{*}\) are, respectively, the modified generated and propagated bits in the HMG, and \(G_{i}^{**}\) and \(P_{i}^{**}\) are, respectively, the modified \(G_{i}^{*}\) and \(P_{i}^{*}\) bits. The related equations of \(G_{i}^{**}\), \(P_{i}^{**}\), \(G_{i}^{*}\), and \(P_{i}^{*}\) are derived from the modulo (\(2^{n}-1\)) multiplier [22], modulo (\(2^{n}\)) multiplier [23], and modulo (\(2^{n}+1\)) [24] multiplier:  
\[\left\{ \begin{array}{c}G_{i}^{**}=G_{i}^{*}+G_{i-2}^{*}\,,\,\,if\,\,i=1\,,\, for\,\,m=2^{n}-1\\ G_{i}^{**}=G_{i}^{*}+0\,,\,\,if\,\,i=1\,,\,for\,\,m=2^{n}\\ G_{i}^{**}=G_{i}^{*}+\overline{P_{i-2}}\,\,,\,if\,\,i=1\,,\,for\,\,m=2^{n}+1 \end{array} \right. \tag{11}\]  
Figure 4: (a) Block diagram of the proposed SM2. (b) Inner circuit of SM2. Figure 3: (a) Block diagram of the proposed SM1. (b) Inner circuit of SM1. Figure 2: Proposed structure of the radix-8 multi-modulus hard multiple generator (8-bit). \[\left\{ \begin{array}{l}{P_{i}}^{**}={P_{i}}^{*}{P_{i-2}}^{*}\,,\,\,if\,\,i=1\,, \,for\,\,m=2^{n}-1\\ {P_{i}}^{**}={P_{i}}^{*}\,0\,,\,if\,\,i=1\,,\,for\,\,m=2^{n}\\ {P_{i}}^{**}={P_{i}}^{*}\overline{{G_{i-2}}}\,,\,if\,\,i=1\,,\,for\,\,m=2^{n}+1 \end{array} \right. \tag{12}\]  
\[\left\{ \begin{array}{l}{G_{i}}^{**}={G_{i}}^{*}+{G_{i-2}}^{*}\,,\,if\,\,1<i< \,n\,,\,for\,\,m=2^{n}-1\\ {G_{i}}^{**}={G_{i}}^{*}+{G_{i-2}}^{*}\,,\,if\,\,1<i<\,n\,,\,for\,\,m=2^{n}\\ {G_{i}}^{**}={G_{i}}^{*}+{G_{i-2}}^{*}\,,\,if\,\,1<i<\,n\,,\,for\,\,m=2^{n}+1 \end{array} \right. \tag{13}\]  
\[\left\{ \begin{array}{l}{P_{i}}^{**}={P_{i}}^{*}{P_{i-2}}^{*}\,,\,\,if\,\,1<i <\,n\,,\,for\,\,m=2^{n}-1\\ {P_{i}}^{**}={P_{i}}^{*}{P_{i-2}}^{*}\,,\,if\,\,1<i<\,n\,,\,for\,\,m=2^{n}\\ {P_{i}}^{**}={P_{i}}^{*}{P_{i-2}}^{*}\,,\,if\,\,1<i<\,n\,,\,for\,\,m=2^{n}+1 \end{array} \right. \tag{14}\]  
From Equation (11) to Equation (14), when \(i=1\), \({G_{i}}^{*}\) and \({P_{i}}^{*}\) can be rewritten as:  
\[\left\{ \begin{array}{l}{G_{1}}^{*}=x_{0}\cdot\left(x_{1}+x_{-1}\right)\,,\, \,for\,\,m=2^{n}-1\\ {G_{1}}^{*}=x_{0}\cdot\left(x_{1}+0\right)\,,\,\,for\,\,m=2^{n}\\ {G_{1}}^{*}=x_{0}\cdot\left(x_{1}+\overline{x_{-1}}\right)\,,\,\,for\,\,m=2^ {n}+1\end{array} \right. \tag{15}\]  
\[\left\{ \begin{array}{l}{P_{1}}^{*}=x_{0}+\left(x_{1}\cdot\,x_{-1}\right)\,, \,\,for\,\,m=2^{n}-1\\ {P_{1}}^{*}=x_{0}+\left(x_{1}\cdot 0\right)\,,\,\,\,for\,\,m=2^{n}\\ {P_{1}}^{*}=x_{0}+\left(x_{1}\cdot\overline{x_{-1}}\right)\,,\,\,for\,\,m=2^ {n}+1\end{array} \right. \tag{16}\]  
From the above definitions of \({G_{i}}^{*}\), \({P_{i}}^{*}\), \({G_{i}}^{**}\), and \({P_{i}}^{**}\) for the modulo (\(2^{n}-1\)), modulo (\(2^{n}+1\)) multipliers, the block diagram of the proposed \({G^{**}}{P^{*}}\) function is shown in Figure 5. The \({P_{\mathcal{P}}}^{*}\) signal is used to select the \({P_{\mathcal{P}}}^{*}\), \(0\), or \(\overline{{P_{\mathcal{P}}}^{*}}\) signals for the modulo (\(2^{n}-1\)), modulo (\(2^{n}\)), or modulo (\(2^{n}+1\)) multipliers, respectively. Figure 5: Proposed block diagram of the \({G^{**}}{P^{*}}\) function for \(n=8\).