## 2 Architecture of CCSDS-like QC-LDPC Code for Overlap
### Architecture of the Proposed QC-LDPC Code  
The indices of the first-row elements within each submatrix of the original CCSDS (8176, 7154) PCM are randomized. When arranging all the elements within submatrices into a \(511\times 511\) matrix (as shown in Figure 3a), the spacing between adjacent elements becomes randomized, while this random arrangement can yield greater coding gains, it presents challenges in applying the overlap scheduling method for further throughput enhancement during parallel decoding. For instance, considering the original CCSDS (8176, 7154) PCM, the decoder might employ 16 VNU and 2 CNU for partial parallel iteration (where the degree of parallelism within submatrices is 1). This approach maximizes the utilization of its cyclic shift properties to save resources and increase throughput. Each VNU initiates computations in the rightwards direction from the position indexed as 1 in each column submatrix, until the current submatrix computation concludes. Therefore, while calculating VNU, it is essential that the column's corresponding elements have been updated with the latest information from CNU iteration. In Figure 3a, the red dots represent completed CNU iterations and updated information. If each submatrix's VNU starts iterating from the first column, it is necessary for all submatrices' first columns to have updated c2v messages before VNU iteration commences. Through meticulous selection, if CNU begins iterating from row 459 (cycling back to 1 after reaching 511) and reaches row 416 (the completed iteration section in red), all submatrices' first columns will possess updated c2v messages, enabling the initiation of VNU iteration. Comparing this approach to the traditional flooding scheme, where VNU iteration must wait for CNU iteration completion, this method can let VNU start approximately 50 clock cycles earlier, before all CNU have been updated, which is also the overlap depth. Similarly, CNU can also be initiated after a certain number of VNU's have been iterated. Naturally, by selecting suitable starting points for VNU and CNU, or by using more intricate scheduling structures, the overlap depth can be extended, but introduces increased complexity in terms of hardware implementation as well. Figure 2: Comparison of non-overlapped, half overlapped and full overlapped decoding scheme. (a) non-overlapped; (b) half overlapped; (c) full overlapped. Therefore, we propose a LDPC code based on CCSDS (8176, 7154) LDPC with a greater overlap depth, which is composed of 32 submatrices in 2 rows and 16 columns, and has submatrices of \(511\times 511\). In this LDPC code, the indices of first-row elements within each submatrix exhibit an approximately uniform distribution (the spacing between the last two index is smaller to fit in the \(511\times 511\) submatrix). When arranging all the elements within submatrices of this proposed PCM into a \(511\times 511\) matrix (as shown in Figure 3b, the unfolded version of which can be referred to in Figure 4), it becomes evident that the elements are nearly evenly spaced. This uniform distribution facilitates the design of more efficient and high-speed parallel overlap schemes. For the original CCSDS (8176, 7154) LDPC code, the characteristic where certain elements within specific matrices like \(Q(s_{2,1})\), \(Q(s_{2,3})\),..., \(Q(s_{2,15})\) have an index value of \(1\) is retained. For the remaining 56 elements, we introduce permutation vectors for the design process. We employ a permutation vector shown in Algorithm 1 and defined in [26] to determine the shift factors (start index) of each submatrix, with parameters set to \(m=56\), \(a=30\), and \(b=40\), where \(m\) stands for the number of shift factors, and \(a,b\) are parameters defined after simulations to reach a best BER performance.