Digital Video Broadcasting (DVB)

DVBS2X FEC Codec - ntDVBS2X_FEC

The ntDVBS2X_FEC transmitter and receiver IPs, each instantiate a BCH and LDPC concatenated pair of encoders and decoders respectively. Interleaving, Deinterleaving, as well as Puncturing and Shortening is also optionally applied, where applicable. The ntBCH_DVBS2X encoder (Fig.1) performs BCH encoding to payload frames by appending calculated parity bits at the end of each frame. The ntBCH_DVBS2X decoder (Fig.2) finds the error locations within a received frame, tries to correct them and indicates a successful or failed decoding procedure. The Low Density Parity Check (LDPC) codes are powerful, capacity approaching channel codes and have exceptional error correction capabilities. The high degree of parallelism that they offer enables efficient, high throughput hardware architectures. The ntLDPC_DVBS2X IP Core is based on an implementation of QC-LDPC Quasi-Cyclic LDPC Codes. These LDPC codes are based on block-structured LDPC codes with circular block matrices. The entire parity check matrix can be partitioned into an array of block matrices; each block matrix is either a zero matrix or a right cyclic shift of an identity matrix. The parity check matrix designed in this way can be conveniently represented by a base matrix represented by cyclic shifts. The main advantage of this feature is that they offer high throughput at low implementation complexity.

DVBS2X_FEC

The ntLDPC_DVBS2X encoder IP (Fig. 1) implements a 360-bit parallel systematic LDPC IRA encoder. An off-line profiling Matlab script processes the original IRA matrices and produces a set of constants, associated with the matrix and hardcoded in the RTL encoder. Encoding is performed as a three part recursive computation process, where row sums, checksums of all rows column-wise and parity bit sums are calculated. The ntLDPC_DVBS2X decoder IP (Fig. 2) implements an approximation of the log-domain LDPC iterative decoding algorithm (Belief propagation), known as Layered Lambda-min2 Algorithm. The core is highly reconfigurable in terms of area, throughput and error correction performance trade-offs and is fully compliant to the DVB-S2X standard. Two highly complex off-line pre-processing series of procedures are performed to optimize the DVB LDPC parity check matrices to enable efficient RTL implementation. The ntLDPC_DVBS2X decoder IP implements a 360-LLR parallel systematic LDPC layered decoder. Two separate off-line profiling MATLAB series of scripts are used to (a) process the original IRA matrices and produce the layered matrices equivalents (b) resolve any possible conflicts produced by the layered transformation. Each layer corresponds to 360 expanded rows of the original LDPC matrix. Each layer element corresponds to the active 360×360 shifted identity sub-matrices, within a layer. Each layer element is shifted accordingly and processed by the parallel decoding datapath unit, in order to update the layers LLR estimates and extrinsic information iteratively until the required number of decoding iterations has been run. The decoder also IP features two powerful optional early termination (ET) criteria (convergence and parity check), to maintain practically the same error correction performance, while significantly increasing its throughput rate. Additionally it reports how many decoding iterations have been performed when ET is activated, for system performance observation and calibration purposes. Finally a simple, yet robust, flow control handshaking mechanism is included in both IPs, which is used to communicate the IPs availability to adjacent system components. This logic is easily portable into any communication protocol, like AXI Stream IF.

The ntDVBS2X_FEC cores can be used in a variety of applications, including:

  • Digital Video Broadcasting DVB-S2/S2X.
  • Custom state-of-the-art systems for Optical transmission systems, Satellite Communication Systems or Deep Space high data rate applications.
  • Transmitter and Receiver, support all DVB-S2 and DVBS2X defined block lengths [16200,32400,64800] and code rates [1/4,1/3,…,8/9,9/10] and [11/45,4/15,…,7/9,154/180].
  • 9-Bit or 360-Bit transmitter input/output interface wrappers, supporting AXI4 Stream.
  • Soft input decoder interface wrapper with 4(S4.0), 5(S5.0, S5.1) or 6(S6.0, S6.1, S6.2) bit LLRs support and 9*LLR or 360*LLR parallelism. Optional AXI4 Stream support.
  • Automatic scaling of internal fixed point precision according to selected input fixed point precision.
  • Flexible generic decoder architecture with various combinations of parallelism options providing any desired application trade-off between area, performance and throughput rates.
  • Configurable internal 360/180 DPUs parallel LLRs processing for high throughput applications.
  • ntDVBS2X_FEC receiver achieves competitive decoding performance results, meeting closely DVB-S2/S2X Quasi Error Free requirements.
  • Programmable number of algorithmic iterations and Early Termination feature, with both convergence and layered parity check criteria, for substantial throughput rate increase, without any measurable performance loss.
  • Decoding throughput rates up to 500 Mbps for 120 MHz.
  • Probe outputs returning the number of actual performed decoding iterations per frame for quality statistics extraction.
  • Synchronous single clock design.

The ntDVBS2X_FEC transmitter and receiver cores have been synthesized using Xilinx Vivado software. The cores have been targeted to Kintex7 XC7K410T-2 FFG900 device with a default balanced optimization strategy between area and timing. The area and performance metrics produced are summarized in the following tables.

DescriptionFFLUTBRAMMHz
ntDVBS2X_FEC Transmitter 9//bits5921
(1.17%)
9181
(3.61%)
48
(6.04%)
200
ntDVBS2X_FEC Receiver 9//bits56998
(11.21%)
113972
(44.84%)
270
(33.96%)
120

In ntDVBS2Χ_FEC IP Core product brief we present performance metrics of BER vs. ES/N0, throughput rates and relative average iterations for QPSK modulation as measured in real-time using Noesis ComLab SW platform running at Kintex7 FPGA. All IPs have 9-bit parallel IO interfaces and datapaths, ntLDPC_DVBS2X encoder IP haw 360// internal datapath, while ntLDPC_DVBS2X decoder IP architecture selections are the following: LLR fixed point (FI) S4.0-S8.2 (input-internal), a 360// DPU parallelism.

Noesis has engaged an “open” licensing philosophy in order to allow maximum technology transfer to our client’s engineering teams and to facilitate the integration of our IP cores into our client’s product. Various licensing models are available. The ntDVBS2X_FEC cores are available as a soft core (synthesizable HDL) or as a firm core (netlist for FPGA technologies). The following deliverables are included:

  • Fully commented synthesizable VHDL source code or FPGA netlist.
  • VHDL test bench and example configuration files.
  • MATLAB model.
  • Comprehensive technical documentation.
  • Technical support.

We offer a variety of IP Core evaluation options such as C++, Matlab bit-true reference models, encrypted RTL simulation models with standalone, self-checking, fully automated RTL test benches, time limited FPGA netlists as well as FPGA demo boards for real-time verification.

Contact us to request further IP Core product information.