Auto updated submodule references
1 file changed
tree: 6529551cb9bff78c84b4152c0e49c889b24aac85
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. mag/
  7. maglef/
  8. openlane/
  9. signoff/
  10. spi/
  11. verilog/
  12. .gitattributes
  13. .gitignore
  14. .gitmodules
  15. info.yaml
  16. LICENSE
  17. Makefile
  18. README.md
README.md

YONGA-Turbo Encoder

License UPRJ_CI Caravel Build

Table of contents

Overview

DVB-RCS2 Turbo Encoder

Turbo Encoder is used for FEC encoding for linear modulation.

Encoder takes 2 bits of input (namely A and B) and generates 6 bits of output in the form (AB Y1W1 Y2W2)

First couple of parity bits (Y1W1) are generated from linearly ordered input data while second couple of parity bits (Y2W2) are generated from interleaved input data.

The design involves two paths:

  1. Linear order path
  2. Interleaved path

Top-Level Diagram

alt text

-Input Data is stored at dual channel rams.

-AGU's (Address Generator Unit) generate data indices for linearly ordered and interleaved data inputs.

-Pre Encoder unit identifies initial state of the encoder.

-Encoder Core produces outputs according to the state and the inputs.

Synthesis Report

alt text

Implementation Report

alt text

-Reports are based on Xilinx Spartan-7 xc7s6ftgb196-1

Throughput

equation

‘N’ = input data block size in couple number ranging from 56 to 2396.

‘f’ = frequency in Mhz.

For 50 Mhz clock speed and N = 56, throughput equals to 31.5 Mbps.

For 50 Mhz clock speed and N = 2396, throughput equals to 33.3 Mbps.

Setup

TBA

Running Simulation

TBA

Hardening the User Project Macro using OpenLANE

TBA

List of Contributors

In alphabetical order:

  • Baris Bilgili
  • Burak Yakup Cakar
  • Muhammed Celik