# Area-Efficient Universal Code Generator for Multi-GNSS Receivers
## 4 Proposed Multi-Frequency Universal Code Generator  
Although the previous universal code generators can generate various codes using a single LFSR, there are many unnecessary elements in the values stored by supported satellite signal. The proposed multi-frequency universal code generator is intended to remove the unnecessary elements to further reduce the complexity. Whereas the previous universal code generator configured Initial ROMs, Feedback ROMs, and Output ROMs for all register bits so that they can operate selectively, the proposed universal code generator opened the bits that are not regularly used and directly connected the bits that are used regularly to remove unnecessary ROM, MUX, and XOR circuits. By applying the hardwiring technique, redundant hardware resources can be significantly reduced compared to previous multi-frequency universal code generators. Tables 2-5 show summaries of the ROM values of the conventional code generators in binary numbers by GNSS signal. Commonly unused bits were expressed as 0, used bits as 1, and non-fixed bits as don't care X. According to the summaries, many bits are fixed to 0 and 1, so that a large number of hardware resources can be reduced by applying the hardwiring technique. Although the don't care X bits require ROM, MUX, and XOR identically to the existing hardware configuration, the shift registers corresponding to bit 0 can be configured by removing the ROM, MUX, and XOR and opening them. In the case of the shift registers corresponding to bit 1, the ROM and MUX can be removed and an XOR connection can be directly configured. Therefore, the more the fixed bits 0 and 1 exist, the more the unnecessary hardware resources can be removed. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Codes**} & **Feedback** & **Feedback** & **Output ROM1** & **Output ROM2** & **Initial ROM1** & **Initial ROM2** \\  & **ROM1** & **ROM2** & **(13 bit)** & **(14 bit)** & **(14 bit)** & **(13 bit)** & **(14 bit)** \\ \hline L1C/A & 000100000100 & 0000111010110 & 0001000000000 & 00000 xxxxxxxx & 00011111111 & 000011111111 \\ L2 CM & 1001001010010 & 01010100111100 & 100000000000 & 00000000000000 & 0000000000000 & 000001010101010 \\ L2 CL & 1001001010010 & 01010100111100 & 1000000000000 & 00000000000000 & 0000000000000 & 0000000000000 \\ L5 I & 11011000000000 & 0110001110101 & 100000000000 & 0100000000000 & 1111111111111 & 00 xxxxxxxxxxxxx \\ L5 Q & 1101100000000 & 01100011101101 & 100000000000 & 010000000000 & 1111111111111 & 0 xxxxxxxxxxxxxxxxx \\ \hline Summary & xx0 lx0k0x0 kx0 & 0 xxxxxxxxlxxxx & x00x000000000 & x00 xxxxxxxxxxxx & xx0000000000 & 00000000000 & 000000000000 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: The fixed parameters of code generators for GPS signals. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Codes**} & **Feedback** & **Feedback** & **Output ROM1** & **Output ROM2** & **Initial ROM1** & **Initial ROM2** \\  & **ROM1** & **ROM2** & **(13 bit)** & **(14 bit)** & **(13 bit)** & **(14 bit)** \\ \hline B1I & 0011111000001 & 0010110011111 & 001000000000 & 000 xxxxxxxx & 0001010101010 & 00001010101010 \\ B2I & 0011111000001 & 0010110011111 & 001  
Figure 5 shows the hardware architectures of the proposed multi-frequency universal code generator by GNSS. Figure 5 shows universal code generators that can generate GPS signals, BDS signals, GLONASS signals, and Galileo signals, respectively. On reviewing Figure 5, it can be seen that the use of multiplexers and XOR logic was reduced compared to Figure 4 by applying the hardwiring technique. As multiplexer use is reduced, the use of ROMs used for the Feedback ROMs1/2, which store the multiplexer control signals of Feedback Taps1/2, and the Output ROMs 1/2, which store the multiplexer control signals of the Output Taps1/2, can also be reduced. Additionally, in the case of GLONASS, Galileo and BDS, the hardwiring technique can also be applied to Initial ROM.