# Area-Efficient Universal Code Generator for Multi-GNSS Receivers
## 3 Previous Multi-Frequency Universal Code Generator  
The characteristics of the LFSR-based code generator for generating the PRN code are determined by the length of the shift registers, the feedback polynomials, the initial values, and the output registers. The various types of LFSR-based code generators shown in Table 1 have their own values, which are described in their respective ICDs. A code generator structure that supports various codes is an essential element in the development of multi-signal receivers, which have been recently studied to improve accuracy, precision, and reliability. In addition, since the complexity of the code generator increases linearly by the number of supported codes, an efficient receiver structure must be studied without fail. Recently, [6] proposed an LFSR structure that can support multiple codes. The hardware was configured to share the shift register of the LFSR and to selectively determine different feedback polynomials, output registers, and initial values by code generator. Through the foregoing, multiple codes can be selectively generated with a single LFSR hardware device. Figure 4 shows the hardware architectures of the previous multi-frequency universal code generators for signals using the LFSR-based code generators by GNSS. Figure 4 shows the hardware architectures of the previous LFSR-based multi-frequency universal code generators that can generate the codes of GPS signals, BDS signals, GLONASS signals, and Galileo signals, respectively. The previous multi-frequency universal code generators shown in Figure 4 commonly consist of shift registers SR1 and SR2, Feedback  
Figure 3: Conventional code generator architecture of GLONASS L2 OC signal [20]. Taps1/2, which set the feedback polynomial of each shift register, Initial ROMs1/2 that store the initial values of the two shift registers, and Output Taps1/2, which determine the output registers. Figure 4: Previous multi-frequency universal code generator architectures [6] of each GNSS signal. (**a**) GPS. (**b**) BDS. (**c**) GLONASS. (**d**) Galileo. The length of the shift register of previous multi-frequency universal code generators is determined by the length of the longest shift register among the shift registers of the code generators by signal. As shown in Table 1, the previous multi-frequency universal code generator for GPS signals shown in Figure 4a supports GPS L1C/A, GPS L2 CM, GPS L2 CL, GPS L5 I, and GPS L5 Q. Since the M-sequence-based code generator for GPS L2C signals requires the 27-bit shift register and the gold code-based code generator for GPS L5 signals requires the 13-bit, 13-bit shift registers, the two shift registers SR1 and SR2 were designed to be 13 bits and 14 bits, respectively. The control signal conn selectively determines the operations of M-sequence-based L2C signals and gold code-based L1C/A and L5 signals. As with the universal code generator for GPS signals, in the case of the previous multi-frequency universal code generator for BDS signals shown in Figure 4b, the BDS B2A and B3I signals, which use the maximum number of bit shift registers in the code generator, use 13-bit, 13-bit shift registers. Therefore, both SR1 and SR2 were designed to be 13 bits. In the case of the previous multi-frequency universal code generators for GLONASS signals shown in Figure 4c, since the GLONASS L2 OC and L3 OC signal code generators use 14-bit and 7-bit shift registers, respectively, and both code generators use 10-bit shift registers to generate the L1 OCd code of the GLONASS L1 OC signals, SR1 and SR2 are 14 bits and 10 bits, respectively, which are the maximum numbers of bits. Finally, in the case of the previous multi-frequency universal code generators for Galileo signals shown in Figure 4d, since the code generators for all signals use 14-bit, 14-bit shift registers, SR1 and SR2 are 14 bits and 14 bits.